簡體   English   中英

如何測量一條消息到達RabbitMQ中的消息隊列所花費的時間?

[英]How to measure time taken for a message to reach message queue in RabbitMQ?

我有一個生產者類,它將消息發送到消息代理RabbitMQ。 我正在使用Quartz Scheduler定期發送消息。

我想衡量單個作業執行/完成所花費的時間。 我該怎么辦?

我想找到一段時間內完成一項工作所需的平均時間。 所以我想測量每個時間,然后求平均值。

過去我采用的方法是創建一個作業日志記錄隊列,該隊列采用作業名稱,開始時間,結束時間的簡單數據結構,並在完成每個作業后,將包含該信息的消息發送到作業記錄隊列。

然后,只需編寫一個偵聽器即可將數據從作業日志隊列中拉出,然后將其寫入數據庫,更新內部內存結構以進行報告,發送電子郵件等。所有這些都假定您有權更改以下代碼:執行工作。

如果您無權訪問工作,那將變得更加困難。 RabbitMQ有一個插件API,因此您可以構建一個插件來計算每個特定作業花費的時間。 Rabbitmq管理插件將為您提供粗略的指標,例如每秒傳遞的消息數或每秒確認的消息數。 確認通常表示任務已完成,但是根據您代碼的構建方式,可以在完成之前確認作業,在這種情況下,您唯一的選擇是更改執行該作業的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM