]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: logs: Use session idle duration when no stream is provided
authorChristopher Faulet <cfaulet@haproxy.com>
Wed, 30 Sep 2020 13:10:07 +0000 (15:10 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Fri, 4 Dec 2020 13:41:48 +0000 (14:41 +0100)
When a log message is emitted from the session, using sess_log() function,
there is no stream available. In this case, instead of deducing the idle
duration from the accept date, we use the one provided by the session. 0 is
used if it is undefined (i.e set to -1).

src/log.c

index 4e6dc30084b342eb16b39f0f449c341c0a66de2a..7390ba183d076375fdd5edf56b2b165d1e34e9de 100644 (file)
--- a/src/log.c
+++ b/src/log.c
@@ -2132,7 +2132,7 @@ int sess_build_logline(struct session *sess, struct stream *s, char *dst, size_t
                tmp_strm_log.tv_accept = sess->tv_accept;
                tmp_strm_log.accept_date = sess->accept_date;
                tmp_strm_log.t_handshake = sess->t_handshake;
-               tmp_strm_log.t_idle = tv_ms_elapsed(&sess->tv_accept, &now) - sess->t_handshake;
+               tmp_strm_log.t_idle = (sess->t_idle >= 0 ? sess->t_idle : 0);
                tv_zero(&tmp_strm_log.tv_request);
                tmp_strm_log.t_queue = -1;
                tmp_strm_log.t_connect = -1;