6.6. 使用消息计数器
您可以使用消息计数器来随着时间的推移获取有关队列的信息。这有助于您识别那些很难查看的趋势。
例如,您可以使用消息计数器来确定如何随着时间的推移使用特定队列。您还可以尝试通过管理 API 以固定间隔查询队列中的消息数量,但这不会显示队列实际使用的方式。队列中的消息数量可以保持恒定,因为没有客户端正在发送或接收消息,或者因为发送到队列的消息数量等于从该队列使用的消息数量。在这两种情况下,队列中的消息数量保持不变,即使它以非常不同的方式使用。
6.6.1. 消息计数器类型 复制链接链接已复制到粘贴板!
消息计数器提供有关代理中队列的附加信息。
数量
- 在代理启动后添加到队列中的消息总数。
countDelta
- 自上次消息计数器更新以来添加到队列中的消息数量。
lastAckTimestamp
- 最后一次确认来自队列的消息的时间戳。
lastAddTimestamp
- 将消息添加到队列中最后一次时间的时间戳。
messageCount
- 队列中的当前消息数。
messageCountDelta
-
自上次消息计数器更新以来,从队列添加/删除的消息总数。例如,如果
messageCountDelta
为-10
,则总计 10 个消息已从队列中删除。 udpateTimestamp
- 最后一条消息计数器更新的时间戳。
您还可以组合消息计数器来确定其他有意义的数据。例如,若要知道自上次更新以来从队列使用多少个消息,您可以从 countDelta
中减去 messageCountDelta
。
6.6.2. 启用消息计数器 复制链接链接已复制到粘贴板!
消息计数器可能会对代理的内存有小的影响,因此默认禁用它们。要使用消息计数器,您必须首先启用它们。
流程
-
打开 &
lt;broker_instance_dir> /etc/broker.xml
配置文件。 启用消息计数器。
<message-counter-enabled>true</message-counter-enabled>
<message-counter-enabled>true</message-counter-enabled>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 设置消息计数器历史记录和抽样周期。
<message-counter-max-day-history>7</message-counter-max-day-history> <message-counter-sample-period>60000</message-counter-sample-period>
<message-counter-max-day-history>7</message-counter-max-day-history> <message-counter-sample-period>60000</message-counter-sample-period>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow message-counter-max-day-history
- 代理应存储队列指标的天数。默认值为 10 天。
message-counter-sample-period
- 代理应抽样其队列以收集指标的频率(以毫秒为单位)。默认值为 10000 毫秒。
6.6.3. 检索消息计数器 复制链接链接已复制到粘贴板!
您可以使用管理 API 来检索消息计数器。
先决条件
代理上必须启用消息计数器。
更多信息请参阅 第 6.6.2 节 “启用消息计数器”。
流程
使用管理 API 检索消息计数器。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
其他资源
- 有关消息计数器的更多信息,请参阅 第 6.4.3 节 “队列管理操作”。