beats icon indicating copy to clipboard operation
beats copied to clipboard

Revival of haproxy.http.request.time_active_ms and haproxy.tcp.processing_time_ms

Open sakurai-youhei opened this issue 2 years ago • 2 comments

Describe the enhancement:

haproxy.http.request.time_active_ms and haproxy.tcp.processing_time_ms were replaced with event.duration as a part of https://github.com/elastic/beats/pull/10274.

But they are part of a series of timers from the HAProxy standpoint, on the other hand.

HTTP log:

  • haproxy.http.request.time_wait_ms (TR)
  • haproxy.total_waiting_time_ms (Tw)
  • haproxy.connection_wait_time_ms (Tc)
  • haproxy.http.request.time_wait_without_data_ms (Tr)
  • haproxy.http.request.time_active_ms (Ta) <- This is the one.

https://www.haproxy.com/documentation/hapee/latest/onepage/#8.2.3 "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 received and the last byte of response was sent. ...

https://github.com/elastic/beats/commit/11f9116f0efc45e0601dff44316cf43ff5b870c9#diff-0078d1ec55d764408e26baf72301ef6d64ad871b081a95bb148fbbfd4b52c421L4918 Time the request remained active in haproxy, which is the total time in milliseconds elapsed between the first byte of the request was received and the last byte of response was sent.

TCP log:

  • haproxy.total_waiting_time_ms (Tw)
  • haproxy.connection_wait_time_ms (Tc)
  • haproxy.processing_time_ms (Tt) <- This is the one.

https://www.haproxy.com/documentation/hapee/latest/onepage/#8.2.2 "Tt" is the total time in milliseconds elapsed between the accept and the last close. ...

https://github.com/elastic/beats/commit/11f9116f0efc45e0601dff44316cf43ff5b870c9#diff-0078d1ec55d764408e26baf72301ef6d64ad871b081a95bb148fbbfd4b52c421L4951 Total time in milliseconds elapsed between the accept and the last close

Describe a specific use case for the enhancement or feature:

  1. When analyzing/visualizing HAProxy performance, because of the scale difference, users always need to downscale event.duration (in nanoseconds) to get haproxy.http.request.time_active_ms and haproxy.tcp.processing_time_ms (in milliseconds).
  2. Because of the natural expectation that Filebeat extracts all timers in bulk, missing haproxy.http.request.time_active_ms and haproxy.tcp.processing_time_ms are confusing HAProxy experts.

sakurai-youhei avatar Jun 28 '23 04:06 sakurai-youhei

This issue doesn't have a Team:<team> label.

botelastic[bot] avatar Jun 28 '23 04:06 botelastic[bot]

Hi! We just realized that we haven't looked into this issue in a while. We're sorry!

We're labeling this issue as Stale to make it hit our filters and make sure we get back to it as soon as possible. In the meantime, it'd be extremely helpful if you could take a look at it as well and confirm its relevance. A simple comment with a nice emoji will be enough :+1. Thank you for your contribution!

botelastic[bot] avatar Jun 27 '24 05:06 botelastic[bot]