如何在HAProxy中添加X-Request-Start?

时间:2015-06-24 20:56:39

标签: newrelic haproxy

我们希望跟踪请求排队时间,并且根据https://docs.newrelic.com/docs/apm/other-features/request-queueing/configuring-request-queue-reporting,我们需要添加X-Request-StartX-Queue-Start时间戳,以毫秒为单位。

2 个答案:

答案 0 :(得分:5)

解决方案是在frontend块中添加此行。您需要一个HTTP和HTTPS。

http-request set-header X-Request-Start t=%Ts%ms

答案 1 :(得分:2)

使用%Ts NOT 正确的解决方案,因为它是会话的开始时间(流),而不是请求时间。多个请求将使用相同的%Ts时间。 See more details here

haproxy版本< 1.9 的正确解决方案是在frontend块中使用以下内容。不幸的是它只有几秒钟的分辨率。

http-request set-header X-Request-Start t=%[date()]

如果您使用的是haproxy版本> = 1.9 ,则可以使用新的示例获取方法date_us()来获取微秒分辨率。

http-request set-header X-Request-Start t=%[date()]%[date_us()]

注意:The newrelic agents can automatically handle timestamps values sent using seconds, milliseconds, or as microseconds