mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-11-28 14:21:00 +01:00
MINOR: stream: add timeout sample fetches
Add cur_server_timeout and cur_tunnel_timeout. These sample fetches return the current timeout value for a stream. This is useful to retrieve the value of a timeout which was changed via a set-timeout rule.
This commit is contained in:
parent
12bada5662
commit
f7719a25db
@ -16865,6 +16865,16 @@ be_tunnel_timeout : integer
|
|||||||
current backend. This timeout can be overwritten by a "set-timeout" rule. See
|
current backend. This timeout can be overwritten by a "set-timeout" rule. See
|
||||||
also the "cur_tunnel_timeout".
|
also the "cur_tunnel_timeout".
|
||||||
|
|
||||||
|
cur_server_timeout : integer
|
||||||
|
Returns the currently applied server timeout in millisecond for the stream.
|
||||||
|
In the default case, this will be equal to be_server_timeout unless a
|
||||||
|
"set-timeout" rule has been applied. See also "be_server_timeout".
|
||||||
|
|
||||||
|
cur_tunnel_timeout : integer
|
||||||
|
Returns the currently applied tunnel timeout in millisecond for the stream.
|
||||||
|
In the default case, this will be equal to be_tunnel_timeout unless a
|
||||||
|
"set-timeout" rule has been applied. See also "be_tunnel_timeout".
|
||||||
|
|
||||||
dst : ip
|
dst : ip
|
||||||
This is the destination IPv4 address of the connection on the client side,
|
This is the destination IPv4 address of the connection on the client side,
|
||||||
which is the address the client connected to. It can be useful when running
|
which is the address the client connected to. It can be useful when running
|
||||||
|
|||||||
24
src/stream.c
24
src/stream.c
@ -3457,10 +3457,34 @@ static struct action_kw_list stream_http_keywords = { ILH, {
|
|||||||
|
|
||||||
INITCALL1(STG_REGISTER, http_req_keywords_register, &stream_http_keywords);
|
INITCALL1(STG_REGISTER, http_req_keywords_register, &stream_http_keywords);
|
||||||
|
|
||||||
|
static int smp_fetch_cur_server_timeout(const struct arg *args, struct sample *smp, const char *km, void *private)
|
||||||
|
{
|
||||||
|
smp->flags = SMP_F_VOL_TXN;
|
||||||
|
smp->data.type = SMP_T_SINT;
|
||||||
|
if (!smp->strm)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
smp->data.u.sint = TICKS_TO_MS(smp->strm->res.rto);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int smp_fetch_cur_tunnel_timeout(const struct arg *args, struct sample *smp, const char *km, void *private)
|
||||||
|
{
|
||||||
|
smp->flags = SMP_F_VOL_TXN;
|
||||||
|
smp->data.type = SMP_T_SINT;
|
||||||
|
if (!smp->strm)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
smp->data.u.sint = TICKS_TO_MS(smp->strm->tunnel_timeout);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
/* Note: must not be declared <const> as its list will be overwritten.
|
/* Note: must not be declared <const> as its list will be overwritten.
|
||||||
* Please take care of keeping this list alphabetically sorted.
|
* Please take care of keeping this list alphabetically sorted.
|
||||||
*/
|
*/
|
||||||
static struct sample_fetch_kw_list smp_kws = {ILH, {
|
static struct sample_fetch_kw_list smp_kws = {ILH, {
|
||||||
|
{ "cur_server_timeout", smp_fetch_cur_server_timeout, 0, NULL, SMP_T_SINT, SMP_USE_BKEND, },
|
||||||
|
{ "cur_tunnel_timeout", smp_fetch_cur_tunnel_timeout, 0, NULL, SMP_T_SINT, SMP_USE_BKEND, },
|
||||||
{ NULL, NULL, 0, 0, 0 },
|
{ NULL, NULL, 0, 0, 0 },
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user