Micrometer Reactor Netty Http 客户端指标与 Http 客户端指标

Micrometer Reactor Netty Http Client Metrics vs Http Client Metrics

在构建 Reactor Netty 应用程序时,我得到了两个相似的指标。但它们之间究竟有什么区别?

http_client_requests_seconds 对比 reactor_netty_http_client_response_time_seconds

我无法弄清楚 how/where 它们测量响应时间的区别。哪个测的时间长,不一致。

HTTP 客户端指标测量时间更长

reactor_netty_http_client_response_time_seconds_count{method="POST",remote_address="localhost:8184",status="200",uri="/api/endpoint",} 2.0
reactor_netty_http_client_response_time_seconds_sum{method="POST",remote_address="localhost:8184",status="200",uri="/api/endpoint",} 0.048153964

http_client_requests_seconds_count{clientName="localhost",method="POST",outcome="SUCCESS",status="200",uri="/api/endpoint",} 2.0
http_client_requests_seconds_sum{clientName="localhost",method="POST",outcome="SUCCESS",status="200",uri="/api/endpoint",} 0.167178945

Reactor Netty 指标测量更长的时间

http_client_requests_seconds_count{clientName="localhost",method="POST",outcome="SUCCESS",status="200",uri="/api/another",} 2.0
http_client_requests_seconds_sum{clientName="localhost",method="POST",outcome="SUCCESS",status="200",uri="/api/another",} 0.049176211

reactor_netty_http_client_response_time_seconds_count{method="POST",remote_address="localhost:8184",status="200",uri="/api/another",} 2.0
reactor_netty_http_client_response_time_seconds_sum{method="POST",remote_address="localhost:8184",status="200",uri="/api/another",} 0.046602377

这个reactor_netty_http_client_response_time_seconds由Reactor Netty提供。

测量是这样的:

开始时间大约是to send the request

停止时间是您从服务器收到最后一个包裹的时间here and here

这不包括从池中获取连接的时间(如果池中有连接,这可能可以忽略不计,但当池中没有连接时,这也可能需要时间,因此需要成立)。对于连接建立,还有另一个指标 reactor_netty_http_client_connect_time。对于 TLS 握手,还有 reactor_netty_http_client_tls_handshake_time.

有关地址解析等 Reactor Netty 指标的更多信息,您可以在 the reference documentation

中找到