我们想跟踪请求队列时间,并且根据https://docs.newrelic.com/docs/apm/other-features/request-queueing/configuring-request-queue-reporting,我们需要添加X-Request-Start
或X-Queue-Start
以及时间戳(以毫秒为单位)。
解决方案是在frontend
块中添加此行。你需要一个HTTP和HTTPS。
http-request set-header X-Request-Start t=%Ts%ms
使用%Ts
不是正确的解决方案,因为它是会话的开始时间(流)而不是请求时间。多个请求将使用相同的%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()]