2727import java .util .concurrent .atomic .AtomicLong ;
2828import java .util .function .Function ;
2929
30- import static com .rabbitmq .client .impl .MicrometerMetricsCollector .Metrics .ACKNOWLEDGED_MESSAGES ;
31- import static com .rabbitmq .client .impl .MicrometerMetricsCollector .Metrics .CHANNELS ;
32- import static com .rabbitmq .client .impl .MicrometerMetricsCollector .Metrics .CONNECTIONS ;
33- import static com .rabbitmq .client .impl .MicrometerMetricsCollector .Metrics .CONSUMED_MESSAGES ;
34- import static com .rabbitmq .client .impl .MicrometerMetricsCollector .Metrics .PUBLISHED_MESSAGES ;
35- import static com .rabbitmq .client .impl .MicrometerMetricsCollector .Metrics .REJECTED_MESSAGES ;
30+ import static com .rabbitmq .client .impl .MicrometerMetricsCollector .Metrics .*;
3631
3732/**
3833 * Micrometer implementation of {@link MetricsCollector}.
@@ -54,6 +49,8 @@ public class MicrometerMetricsCollector extends AbstractMetricsCollector {
5449
5550 private final Counter publishedMessages ;
5651
52+ private final Counter failedToPublishMessages ;
53+
5754 private final Counter consumedMessages ;
5855
5956 private final Counter acknowledgedMessages ;
@@ -83,6 +80,7 @@ public MicrometerMetricsCollector(Function<Metrics, Object> metricsCreator) {
8380 this .consumedMessages = (Counter ) metricsCreator .apply (CONSUMED_MESSAGES );
8481 this .acknowledgedMessages = (Counter ) metricsCreator .apply (ACKNOWLEDGED_MESSAGES );
8582 this .rejectedMessages = (Counter ) metricsCreator .apply (REJECTED_MESSAGES );
83+ this .failedToPublishMessages = (Counter ) metricsCreator .apply (FAILED_TO_PUBLISH_MESSAGES );
8684 }
8785
8886 @ Override
@@ -110,6 +108,11 @@ protected void markPublishedMessage() {
110108 publishedMessages .increment ();
111109 }
112110
111+ @ Override
112+ protected void markMessagePublishFailed () {
113+ failedToPublishMessages .increment ();
114+ }
115+
113116 @ Override
114117 protected void markConsumedMessage () {
115118 consumedMessages .increment ();
@@ -137,6 +140,10 @@ public Counter getPublishedMessages() {
137140 return publishedMessages ;
138141 }
139142
143+ public Counter getFailedToPublishMessages () {
144+ return failedToPublishMessages ;
145+ }
146+
140147 public Counter getConsumedMessages () {
141148 return consumedMessages ;
142149 }
@@ -185,14 +192,19 @@ Object create(MeterRegistry registry, String prefix, Iterable<Tag> tags) {
185192 Object create (MeterRegistry registry , String prefix , Iterable <Tag > tags ) {
186193 return registry .counter (prefix + ".rejected" , tags );
187194 }
195+ },
196+ FAILED_TO_PUBLISH_MESSAGES {
197+ @ Override
198+ Object create (MeterRegistry registry , String prefix , Iterable <Tag > tags ) {
199+ return registry .counter (prefix + ".failed_to_publish" , tags );
200+ }
188201 };
189202
190203 /**
191204 *
192205 * @param registry
193206 * @param prefix
194207 * @deprecated will be removed in 6.0.0
195- * @return
196208 */
197209 @ Deprecated
198210 Object create (MeterRegistry registry , String prefix ) {
0 commit comments