This version is still in development and is not considered stable yet. For the latest stable version, please use Spring AMQP 3.2.0!

Micrometer Observation Documentation

This section describes the Micrometer integration.

Observability - Metrics

Below you can find a list of all metrics declared by this project.

Listener Observation

Observation for Rabbit listeners.

Metric name spring.rabbit.listener (defined by convention class RabbitListenerObservation$DefaultRabbitListenerObservationConvention). Type timer.

Metric name spring.rabbit.listener.active (defined by convention class RabbitListenerObservation$DefaultRabbitListenerObservationConvention). Type long task timer.

KeyValues that are added after starting the Observation might be missing from the *.active metrics.
Micrometer internally uses nanoseconds for the baseunit. However, each backend determines the actual baseunit. (i.e. Prometheus uses seconds)

Name of the enclosing class RabbitListenerObservation.

Table 1. Low cardinality Keys

Name

Description

messaging.destination.name (required)

The queue the listener is plugged to.

messaging.rabbitmq.message.delivery_tag (required)

The delivery tag.

spring.rabbit.listener.id (required)

Listener id.

Stream Listener Observation

Observation for Rabbit stream listeners.

Metric name spring.rabbit.stream.listener (defined by convention class RabbitStreamListenerObservation$DefaultRabbitStreamListenerObservationConvention). Type timer.

Metric name spring.rabbit.stream.listener.active (defined by convention class RabbitStreamListenerObservation$DefaultRabbitStreamListenerObservationConvention). Type long task timer.

KeyValues that are added after starting the Observation might be missing from the *.active metrics.
Micrometer internally uses nanoseconds for the baseunit. However, each backend determines the actual baseunit. (i.e. Prometheus uses seconds)

Name of the enclosing class RabbitStreamListenerObservation.

All tags must be prefixed with spring.rabbit.stream.listener prefix!
Table 2. Low cardinality Keys

Name

Description

spring.rabbit.stream.listener.id (required)

Listener id.

Stream Template Observation

Observation for `RabbitStreamTemplate`s.

Metric name spring.rabbit.stream.template (defined by convention class RabbitStreamTemplateObservation$DefaultRabbitStreamTemplateObservationConvention). Type timer.

Metric name spring.rabbit.stream.template.active (defined by convention class RabbitStreamTemplateObservation$DefaultRabbitStreamTemplateObservationConvention). Type long task timer.

KeyValues that are added after starting the Observation might be missing from the *.active metrics.
Micrometer internally uses nanoseconds for the baseunit. However, each backend determines the actual baseunit. (i.e. Prometheus uses seconds)

Name of the enclosing class RabbitStreamTemplateObservation.

All tags must be prefixed with spring.rabbit.stream.template prefix!
Table 3. Low cardinality Keys

Name

Description

spring.rabbit.stream.template.name (required)

Bean name of the template.

Template Observation

Observation for RabbitTemplates.

Metric name spring.rabbit.template (defined by convention class RabbitTemplateObservation$DefaultRabbitTemplateObservationConvention). Type timer.

Metric name spring.rabbit.template.active (defined by convention class RabbitTemplateObservation$DefaultRabbitTemplateObservationConvention). Type long task timer.

KeyValues that are added after starting the Observation might be missing from the *.active metrics.
Micrometer internally uses nanoseconds for the baseunit. However, each backend determines the actual baseunit. (i.e. Prometheus uses seconds)

Name of the enclosing class RabbitTemplateObservation.

Table 4. Low cardinality Keys

Name

Description

messaging.destination.name (required)

The destination exchange (empty if default exchange).

messaging.rabbitmq.destination.routing_key (required)

The destination routing key.

spring.rabbit.template.name (required)

Bean name of the template.

Observability - Spans

Below you can find a list of all spans declared by this project.

Listener Observation Span

Observation for Rabbit listeners.

Span name spring.rabbit.listener (defined by convention class RabbitListenerObservation$DefaultRabbitListenerObservationConvention).

Name of the enclosing class RabbitListenerObservation.

Table 5. Tag Keys

Name

Description

messaging.destination.name (required)

The queue the listener is plugged to.

messaging.rabbitmq.message.delivery_tag (required)

The delivery tag.

spring.rabbit.listener.id (required)

Listener id.

Stream Listener Observation Span

Observation for Rabbit stream listeners.

Span name spring.rabbit.stream.listener (defined by convention class RabbitStreamListenerObservation$DefaultRabbitStreamListenerObservationConvention).

Name of the enclosing class RabbitStreamListenerObservation.

All tags must be prefixed with spring.rabbit.stream.listener prefix!
Table 6. Tag Keys

Name

Description

spring.rabbit.stream.listener.id (required)

Listener id.

Stream Template Observation Span

Observation for `RabbitStreamTemplate`s.

Span name spring.rabbit.stream.template (defined by convention class RabbitStreamTemplateObservation$DefaultRabbitStreamTemplateObservationConvention).

Name of the enclosing class RabbitStreamTemplateObservation.

All tags must be prefixed with spring.rabbit.stream.template prefix!
Table 7. Tag Keys

Name

Description

spring.rabbit.stream.template.name (required)

Bean name of the template.

Template Observation Span

Observation for RabbitTemplates.

Span name spring.rabbit.template (defined by convention class RabbitTemplateObservation$DefaultRabbitTemplateObservationConvention).

Name of the enclosing class RabbitTemplateObservation.

Table 8. Tag Keys

Name

Description

messaging.destination.name (required)

The destination exchange (empty if default exchange).

messaging.rabbitmq.destination.routing_key (required)

The destination routing key.

spring.rabbit.template.name (required)

Bean name of the template.

Observability - Conventions

Below you can find a list of all GlobalObservationConvention and ObservationConvention declared by this project.

Table 9. ObservationConvention implementations

ObservationConvention Class Name

Applicable ObservationContext Class Name

RabbitListenerObservation

RabbitMessageReceiverContext

RabbitListenerObservation.DefaultRabbitListenerObservationConvention

RabbitMessageReceiverContext

RabbitListenerObservationConvention

RabbitMessageReceiverContext

RabbitStreamMessageReceiverContext

RabbitMessageReceiverContext

RabbitStreamMessageReceiverContext.DefaultRabbitListenerObservationConvention

RabbitMessageReceiverContext

RabbitTemplateObservation

RabbitMessageSenderContext

RabbitTemplateObservation.DefaultRabbitTemplateObservationConvention

RabbitMessageSenderContext

RabbitTemplateObservationConvention

RabbitMessageSenderContext

RabbitStreamListenerObservation

RabbitStreamMessageReceiverContext

RabbitStreamListenerObservation.DefaultRabbitStreamListenerObservationConvention

RabbitStreamMessageReceiverContext

RabbitStreamListenerObservationConvention

RabbitStreamMessageReceiverContext

RabbitStreamTemplateObservation

RabbitStreamMessageSenderContext

RabbitStreamTemplateObservation.DefaultRabbitStreamTemplateObservationConvention

RabbitStreamMessageSenderContext

RabbitStreamTemplateObservationConvention

RabbitStreamMessageSenderContext