Class ReactiveMessagingTracingDecorator
- java.lang.Object
-
- io.quarkus.opentelemetry.runtime.tracing.intrumentation.reactivemessaging.ReactiveMessagingTracingDecorator
-
- All Implemented Interfaces:
io.smallrye.reactive.messaging.PublisherDecorator,io.smallrye.reactive.messaging.SubscriberDecorator,jakarta.enterprise.inject.spi.Prioritized
@ApplicationScoped public class ReactiveMessagingTracingDecorator extends Object implements io.smallrye.reactive.messaging.PublisherDecorator, io.smallrye.reactive.messaging.SubscriberDecorator
Intercepts incoming and outgoing messages from Reactive Messaging connectors.For incoming messages, it fetches OpenTelemetry context from the message and attaches to the duplicated context of the message. Consumer methods will be called on this duplicated context, so the OpenTelemetry context associated with the incoming message will be propagated.
For outgoing messages, if the message doesn't already contain a tracing metadata, it attaches one with the current OpenTelemetry context. Reactive messaging outbound connectors, if tracing is supported, will use that context as parent span to trace outbound message transmission.
-
-
Constructor Summary
Constructors Constructor Description ReactiveMessagingTracingDecorator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>decorate(io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> publisher, String channelName, boolean isConnector)Incoming messagesio.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>>decorate(io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> toBeSubscribed, List<String> channelName, boolean isConnector)Outgoing messagesintgetPriority()
-
-
-
Method Detail
-
getPriority
public int getPriority()
- Specified by:
getPriorityin interfacejakarta.enterprise.inject.spi.Prioritized- Specified by:
getPriorityin interfaceio.smallrye.reactive.messaging.PublisherDecorator- Specified by:
getPriorityin interfaceio.smallrye.reactive.messaging.SubscriberDecorator
-
decorate
public io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> decorate(io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> publisher, String channelName, boolean isConnector)Incoming messages- Specified by:
decoratein interfaceio.smallrye.reactive.messaging.PublisherDecorator
-
decorate
public io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> decorate(io.smallrye.mutiny.Multi<? extends org.eclipse.microprofile.reactive.messaging.Message<?>> toBeSubscribed, List<String> channelName, boolean isConnector)Outgoing messages- Specified by:
decoratein interfaceio.smallrye.reactive.messaging.PublisherDecorator- Specified by:
decoratein interfaceio.smallrye.reactive.messaging.SubscriberDecorator
-
-