mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-01-14 21:31:00 +01:00
MINOR: sample: also support retrieving fc.timer.handshake without a stream
Some timers, like the handshake timer, are stored in the session and are only copied to the logs struct when a stream is created. But this means we can't measure it without a stream, nor store it once for all in a variable at session creation time. Let's extend the sample fetch function to retrieve it from the session when no stream is present. The doc did not mention this limitation so this could almost be considered as a bug.
This commit is contained in:
parent
875bbaa7fc
commit
880bbeeda4
14
src/sample.c
14
src/sample.c
@ -5381,12 +5381,20 @@ static int smp_fetch_conn_timers(const struct arg *args, struct sample *smp, con
|
||||
{
|
||||
struct strm_logs *logs;
|
||||
|
||||
if (!smp->strm)
|
||||
return 0;
|
||||
|
||||
smp->data.type = SMP_T_SINT;
|
||||
smp->flags = 0;
|
||||
|
||||
if (!smp->strm) {
|
||||
/* no stream: only fc.timer.handshake is available via
|
||||
* the session.
|
||||
*/
|
||||
if (kw[0] == 'f' && kw[9] == 'h') {
|
||||
smp->data.u.sint = smp->sess->t_handshake;
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
logs = &smp->strm->logs;
|
||||
|
||||
if (kw[0] == 'b') {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user