rabbitmq-java-client
rabbitmq-java-client copied to clipboard
Enhance the MetricsCollector to distinguish metrics for NACK (requeue = true) vs NACK (requeue = false)
Is your feature request related to a problem? Please describe.
To my understanding there are currently no metrics emitted that distinguish whether or not a message was requeued when it was NACK:ed by the consumer
Describe the solution you'd like
One suggestion is to enhance the MetricsCollector with a new methods:
default public void basicNack(Channel channel, long deliveryTag, boolean requeue) {
}
default public void basicReject(Channel channel, long deliveryTag, boolean requeue) {
}
These methods would then be called with the requeue
parameter provided whenever a messages is NACK:ed. Moreover, existing implementation such as the MicrometerMetricsCollector should implement the methods so that the metrics emitted also has knowledge about the requeue
state
Describe alternatives you've considered
Application developers can implement their own custom metrics
Additional context
Related question at Stack Overflow: https://stackoverflow.com/questions/79069702/reactive-rabbitmq-metrics-for-ack-nack-requeue-false-and-nack-requeue-t