Timing event - Tr


Have a query with regards to Tr timing event, which reports server response time (for HTTP connections). I’m using HAProxy v2.0.

Is the value reported as part of Tr event cumulative? e.g. with keepalive and http-reuse set for the backend, will the Tr event include response times for multiple requests sent to the backend server?

I see in the HAProxy documentation it is mentioned that Ta timing event will be impacted by keep-alive connection mode, but the same is not clearly mentioned in case of Tr timing event.



Tr starts after haproxy sent the http request to the client and finished when it has received a full http header response. See it as a “processing time”.
Keepalive is not taken into account.


Hi Baptiste

Many thanks for your response.

HAProxy configuration guide mentions the below for Tr event -

Tr: server response time (HTTP mode only). It’s the time elapsed between
the moment the TCP connection was established to the server and the moment
the server sent its complete response headers. It purely shows its request
processing time, without the network overhead due to the data transmission.

In case of keep alive (and http-reuse) connection settings, am I correct in stating that a single TCP connection will potentially get reused across multiple HTTP requests? If so, will the Tr timing event not include processing time across multiple requests?

I have HAProxy implemented as a sidecar proxy as part of Service Mesh deployment in a microservices environment. The request flow from one service to another looks like this -

  (localhost connection)        (http-reuse)       (http-reuse)

srvc A ----------------------------------> haproxy A ------------------> haproxy B ------------------> srvcB

haproxy B acts as a TLS termination endpoint.

Thanks again for your time.