我需要以尽可能高的精度记录邮件进入和离开Rabbit中特定队列的速率。我知道该API已经提供了发布和投放费率,但是我对已知时间段内的[[captureing原始传入和传出值感兴趣,因此我可以更精确地estimate和我选择的时间段。
理想情况下,我会按需检查(即按我选择的时间表进行检查),例如到目前为止,已进入队列的消息的当前累积计数(“已发布”消息),以及已消耗的消息的当前累积计数(“已传递”消息)。有了这些类型的累积计数,我可以:
Δ_count = cumulative_count(t) - cumulative_count(t-1)
计算throughput = Δ_count / Δ_time
可能推断例如,请看下面的屏幕截图。
条目90和91之间的Δ_message_count
为1810-1633 = 177
。因此,正如我所说,我想发布的消息和传递的消息之间的差异也应该为177
(尤其是发布的消息比传递的消息多177条)。
但是,当我计算这些差异时,发现差异不是177
:
13417517652009 - 13417517651765 = 244
1341751765667 - 1341751765450 = 217
244 - 217 =
27
177 - 27 = 150
条消息“ unaccounted”。 为什么?[我尝试考虑API提供的重新传递的消息,但是在运行测试时它们是恒定的,这表明没有重新传递的消息,因此我不希望它发挥作用。
但是,管理用户界面有许多限制:
其设计