- "accept_date" is the exact date when the connection was received by haproxy
(which might be very slightly different from the date observed on the
network if there was some queuing in the system's backlog). This is usually
- the same date which may appear in any upstream firewall's log.
+ the same date which may appear in any upstream firewall's log. When used in
+ HTTP mode, the accept_date field will be reset to the first moment the
+ connection is ready to receive a new request (end of previous response for
+ HTTP/1, immediately after previous request for HTTP/2).
- "frontend_name" is the name of the frontend (or listener) which received
and processed the connection.
request could be received or the a bad request was received. It should
always be very small because a request generally fits in one single packet.
Large times here generally indicate network issues between the client and
- haproxy or requests being typed by hand. See "Timers" below for more details.
+ haproxy or requests being typed by hand. See section 8.4 "Timing Events"
+ for more details.
- "Tw" is the total time in milliseconds spent waiting in the various queues.
It can be "-1" if the connection was aborted before reaching the queue.
- See "Timers" below for more details.
+ See section 8.4 "Timing Events" for more details.
- "Tc" is the total time in milliseconds spent waiting for the connection to
establish to the final server, including retries. It can be "-1" if the
- request was aborted before a connection could be established. See "Timers"
- below for more details.
+ request was aborted before a connection could be established. See section
+ 8.4 "Timing Events" for more details.
- "Tr" is the total time in milliseconds spent waiting for the server to send
a full HTTP response, not counting data. It can be "-1" if the request was
aborted before a complete response could be received. It generally matches
the server's processing time for the request, though it may be altered by
the amount of data sent by the client to the server. Large times here on
- "GET" requests generally indicate an overloaded server. See "Timers" below
- for more details.
+ "GET" requests generally indicate an overloaded server. See section 8.4
+ "Timing Events" for more details.
- "Ta" is the time the request remained active in haproxy, which is the total
time in milliseconds elapsed between the first byte of the request was
one exception, if "option logasap" was specified, then the time counting
stops at the moment the log is emitted. In this case, a '+' sign is
prepended before the value, indicating that the final one will be larger.
- See "Timers" below for more details.
+ See section 8.4 "Timing Events" for more details.
- "status_code" is the HTTP status code returned to the client. This status
is generally set by the server, but it might also be set by haproxy when
may indicate that the client only pre-established the connection without
speaking, that it is experiencing network issues preventing it from
completing a handshake in a reasonable time (e.g. MTU issues), or that an
- SSL handshake was very expensive to compute.
+ SSL handshake was very expensive to compute. Please note that this time is
+ reported only before the first request, so it is safe to average it over
+ all request to calculate the amortized value. The second and subsequent
+ request will always report zero here.
- Ti: is the idle time before the HTTP request (HTTP mode only). This timer
counts between the end of the handshakes and the first byte of the HTTP
request. When dealing with a second request in keep-alive mode, it starts
- to count after the end of the transmission the previous response. Some
- browsers pre-establish connections to a server in order to reduce the
- latency of a future request, and keep them pending until they need it. This
- delay will be reported as the idle time. A value of -1 indicates that
- nothing was received on the connection.
+ to count after the end of the transmission the previous response. When a
+ multiplexed protocol such as HTTP/2 is used, it starts to count immediately
+ after the previous request. Some browsers pre-establish connections to a
+ server in order to reduce the latency of a future request, and keep them
+ pending until they need it. This delay will be reported as the idle time. A
+ value of -1 indicates that nothing was received on the connection.
- TR: total time to get the client request (HTTP mode only). It's the time
elapsed between the first bytes received and the moment the proxy received