我正在尝试跟踪 Jetty 中的 HTTP 请求和响应时间。我已经扩展了 jetty 服务器,我能够使用以下代码片段获取请求时间戳:
public void handle(HttpChannel connection) throws IOException,
ServletException {
super.handle(connection);
connection.getRequest().getTimeStamp();
}
我需要获取请求响应的确切时间。 我如何通过扩展 jetty 服务器来实现它? 如果除了扩展 jetty 之外还有其他办法。请告诉我
谢谢
最佳答案
因为您似乎只对延迟感兴趣,所以执行此操作。
RequestLog
机制现在就是做这个的。
- 实例化一个新的
RequestLogHandler
并将其添加为服务器Handler
树的根(考虑嵌套,而不是集合)。 - 添加
RequestLog
的自定义实现到RequestLogHandler
- 在您的自定义
RequestLog.log(Request,Response)
方法中,grab theRequest.getTimeStamp()
and work out the latency .
这种方法对于 Jetty 内部的更改更持久,并且不需要 fork Jetty + modify 方法来工作。
关于http - 如何在 jetty 中跟踪 HTTP 请求和响应时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33493960/