我想测量Netty HTTP服务器的服务器端请求的延迟。我想捕获服务器中的请求所花费的时间,因为请求是在服务器上收到的,直到服务器发出答复为止。我希望这也包括请求花费在等待资源(例如线程)上的时间。基本上,尽可能捕获服务器上请求的延迟。
我使用Dropwizard指标,并在覆盖的initChannel(SocketChannel ch)
方法处启动计时器,并在覆盖ctx.flush()
的方法channelReadComplete(ChannelHandlerContext ctx)
之后停止计时器。
这正确吗?
答案 0 :(得分:0)
通常会在收到请求的第一个字节时在channelRead(...)
中启动它,并在属于响应的最后一个ChannelFutureListener
中停止它。