Учитывая кластер узлов RabbitMQ с кучей очередей, получающих сообщения от обмена темами, я хотел бы иметь возможность программно ответить на вопрос:
Для очереди X какова текущая приблизительная оценка времени доставки сообщения / приема-передачи?
Используя API плагина управления RabbitMQ для самоанализа, я могу придумать целый ряд способов сделать это, ни один из которых не было бы ужасно сложно реализовать ([number of queued messages + 1] * average processing time
), но все это похоже на изобретение колеса. Существуют ли какие-либо устоявшиеся передовые практики? Может быть, даже какие-то нестандартные механизмы, предоставляемые RabbitMQ?
(Для протокола, мы говорим о RabbitMQ 2.4.1 от Ruby, используя старый добрый кролик 0.6.0 с некоторым пользовательским кодом абстракции наверху.)