首页 > 解决方案 > JettyConnectionMetrics 算什么?

问题描述

Micrometer 库有一个JettyConnectionMetrics类可以生成这些指标(等等):

# HELP jetty_connections_bytes_in_bytes Bytes received by tracked connections
# TYPE jetty_connections_bytes_in_bytes summary
jetty_connections_bytes_in_bytes_count 125.0
jetty_connections_bytes_in_bytes_sum 186955.0
# HELP jetty_connections_bytes_in_bytes_max Bytes received by tracked connections
# TYPE jetty_connections_bytes_in_bytes_max gauge
jetty_connections_bytes_in_bytes_max 1681.0

这实际上算什么?跟踪在这里是什么意思?

如果我将它添加到我们的(只有一个)连接器,它将包含 TCP 连接接收到的每个字节吗?

我是对的,它仅在连接关闭时更新,这可能会在真实客户端和 Jetty 之间存在 HAProxy(具有保持活动连接)时延迟数据?

标签: jettymicrometer

解决方案


这实际上算什么?

根据这个类的代码,它测量了以下几点:

  • 被跟踪的连接收到的消息
  • 跟踪连接发送的消息
  • 被跟踪的连接接收到的字节
  • 被跟踪连接发送的字节数
  • 在滚动的 2 分钟间隔内观察到的最大连接数
  • 当前打开的 Jetty 连接数

跟踪在这里是什么意思?

因为JettyConnectionMetricsJetty 的Connection.Listener,所以当注册到 a 时Connector,它会跟踪所有事件openclose即每当该连接器上发生 I/O 事件时。

如果我将它添加到我们的(只有一个)连接器,它将包含 TCP 连接接收到的每个字节吗?

是的,如果您使用ServerConnector的是 Jetty 服务器通过 TCP/IP 的主要连接器。

我是对的,它仅在连接关闭时更新,这可能会在真实客户端和 Jetty 之间存在 HAProxy(具有保持活动连接)时延迟数据?

是的,你是对的,只有在连接关闭时才会更新。根据这对您的指标有多重要,您可以考虑禁用keep-alive连接并始终要求关闭连接(确保您了解此更改的权衡)。


推荐阅读