Polish JMS observation instrumentation
See gh-30335 Closes gh-31172
This commit is contained in:
@@ -176,7 +176,7 @@ but note that `@JmsListener` annotations can refer to specific container factory
|
||||
In all cases, Observations are only recorded if the observation registry is configured on the container factory.
|
||||
|
||||
Similar observations are recorded with `JmsTemplate` when messages are processed by a `MessageListener`.
|
||||
Such listeners are set on a `MessageConsumer` within a session callback (see `JmsTemplate.execute(SessionCallback<T>)`).
|
||||
Such listeners are set on a `MessageConsumer` within a session callback (see `JmsTemplate.execute(SessionCallback<T>)`).
|
||||
|
||||
This observation uses the `io.micrometer.core.instrument.binder.jms.DefaultJmsProcessObservationConvention` by default, backed by the `io.micrometer.core.instrument.binder.jms.JmsProcessObservationContext`.
|
||||
|
||||
|
||||
@@ -198,6 +198,10 @@ public abstract class AbstractJmsListenerContainerFactory<C extends AbstractMess
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the {@link ObservationRegistry} to be used for recording
|
||||
* {@link io.micrometer.core.instrument.binder.jms.JmsObservationDocumentation#JMS_MESSAGE_PROCESS JMS message processing observations}.
|
||||
* Defaults to no-op observations if the registry is not set.
|
||||
* @since 6.1
|
||||
* @see AbstractMessageListenerContainer#setObservationRegistry(ObservationRegistry)
|
||||
*/
|
||||
public void setObservationRegistry(ObservationRegistry observationRegistry) {
|
||||
|
||||
@@ -577,7 +577,7 @@ public abstract class AbstractMessageListenerContainer extends AbstractJmsListen
|
||||
|
||||
/**
|
||||
* Return the {@link ObservationRegistry} used for recording
|
||||
* {@link JmsObservationDocumentation#JMS_MESSAGE_PUBLISH JMS message processing observations}.
|
||||
* {@link JmsObservationDocumentation#JMS_MESSAGE_PROCESS JMS message processing observations}.
|
||||
* @since 6.1
|
||||
*/
|
||||
@Nullable
|
||||
@@ -587,7 +587,7 @@ public abstract class AbstractMessageListenerContainer extends AbstractJmsListen
|
||||
|
||||
/**
|
||||
* Set the {@link ObservationRegistry} to be used for recording
|
||||
* {@link JmsObservationDocumentation#JMS_MESSAGE_PUBLISH JMS message processing observations}.
|
||||
* {@link JmsObservationDocumentation#JMS_MESSAGE_PROCESS JMS message processing observations}.
|
||||
* Defaults to no-op observations if the registry is not set.
|
||||
* @since 6.1
|
||||
*/
|
||||
@@ -716,7 +716,7 @@ public abstract class AbstractMessageListenerContainer extends AbstractJmsListen
|
||||
}
|
||||
|
||||
private Observation createObservation(Message message) {
|
||||
if (micrometerCorePresent) {
|
||||
if (micrometerCorePresent && this.observationRegistry != null) {
|
||||
return ObservationFactory.create(this.observationRegistry, message);
|
||||
}
|
||||
else {
|
||||
@@ -995,7 +995,7 @@ public abstract class AbstractMessageListenerContainer extends AbstractJmsListen
|
||||
|
||||
private static final JmsProcessObservationConvention DEFAULT_CONVENTION = new DefaultJmsProcessObservationConvention();
|
||||
|
||||
static Observation create(@Nullable ObservationRegistry registry, Message message) {
|
||||
static Observation create(ObservationRegistry registry, Message message) {
|
||||
return JmsObservationDocumentation.JMS_MESSAGE_PROCESS
|
||||
.observation(null, DEFAULT_CONVENTION, () -> new JmsProcessObservationContext(message), registry);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user