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

che*_*ndo 3 haproxy newrelic

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

che*_*ndo 5

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

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


Fir*_*shy 5

使用%Ts正确的解决方案,因为它是会话(流),而不是请求时间的开始时间。多个请求将使用同一%Ts时间。在这里查看更多详细信息

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

http-request set-header X-Request-Start t=%[date()]
Run Code Online (Sandbox Code Playgroud)

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

http-request set-header X-Request-Start t=%[date()]%[date_us()]
Run Code Online (Sandbox Code Playgroud)

注意:newrelic代理可以自动处理以秒,毫秒或微秒为单位发送的时间戳值