jetty - 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(具有保持活动连接)时延迟数据?
解决方案
这实际上算什么?
根据这个类的代码,它测量了以下几点:
- 被跟踪的连接收到的消息
- 跟踪连接发送的消息
- 被跟踪的连接接收到的字节
- 被跟踪连接发送的字节数
- 在滚动的 2 分钟间隔内观察到的最大连接数
- 当前打开的 Jetty 连接数
跟踪在这里是什么意思?
因为JettyConnectionMetrics
是Jetty 的Connection.Listener
,所以当注册到 a 时Connector
,它会跟踪所有事件open
,close
即每当该连接器上发生 I/O 事件时。
如果我将它添加到我们的(只有一个)连接器,它将包含 TCP 连接接收到的每个字节吗?
是的,如果您使用ServerConnector
的是 Jetty 服务器通过 TCP/IP 的主要连接器。
我是对的,它仅在连接关闭时更新,这可能会在真实客户端和 Jetty 之间存在 HAProxy(具有保持活动连接)时延迟数据?
是的,你是对的,只有在连接关闭时才会更新。根据这对您的指标有多重要,您可以考虑禁用keep-alive
连接并始终要求关闭连接(确保您了解此更改的权衡)。
推荐阅读
- swift - Cocoa Swift:将主菜单连接到首选项窗口控制器并禁用属性检查器中的最小化等项目在 Xcode 中不起作用?
- dialogflow-es - 您如何编写发布到本地网络上 API 的 Google Action
- c# - Razor ASP.Net Core 2.1 中的部分标记
- reactjs - 我如何使用本地主机和 firebase 创建本地数据库
- swift - 快速转换后保持相同的图像质量
- android - CoordinatorLayout 中的自定义工具栏
- javascript - codeigniter 中出现意外的 T_STRING 错误
- javascript - 如何添加选项以选择从 PHP 中的 AJAX 请求接收的表单
- c# - 买卖双方之间的通知
- angular - 如何检查angular5中反应形式的表单数组中是否存在重复的formcontrol值?