public final class TracingChannelInterceptor extends Object implements org.springframework.messaging.support.ExecutorChannelInterceptor, org.springframework.context.ApplicationContextAware
Span.Kind#PRODUCER span for each message sent (via
native headers. It also extracts or creates a Span.Kind#CONSUMER span for each
message received. This span is injected onto each message so it becomes the parent when
a handler later calls MessageHandler.handleMessage(Message).| Modifier and Type | Field and Description |
|---|---|
static String |
STREAM_DIRECT_CHANNEL
Name of the class in Spring Cloud Stream that is a direct channel.
|
| Constructor and Description |
|---|
TracingChannelInterceptor(Tracer tracer,
Propagator propagator,
Propagator.Setter<org.springframework.messaging.support.MessageHeaderAccessor> setter,
Propagator.Getter<org.springframework.messaging.support.MessageHeaderAccessor> getter,
Function<String,String> remoteServiceNameMapper,
MessageSpanCustomizer messageSpanCustomizer) |
| Modifier and Type | Method and Description |
|---|---|
void |
afterMessageHandled(org.springframework.messaging.Message<?> message,
org.springframework.messaging.MessageChannel channel,
org.springframework.messaging.MessageHandler handler,
Exception ex) |
void |
afterReceiveCompletion(org.springframework.messaging.Message<?> message,
org.springframework.messaging.MessageChannel channel,
Exception ex) |
void |
afterSendCompletion(org.springframework.messaging.Message<?> message,
org.springframework.messaging.MessageChannel channel,
boolean sent,
Exception ex) |
org.springframework.messaging.Message<?> |
beforeHandle(org.springframework.messaging.Message<?> message,
org.springframework.messaging.MessageChannel channel,
org.springframework.messaging.MessageHandler handler)
This starts a consumer span as a child of the incoming message or the current trace
context.
|
org.springframework.messaging.Message<?> |
postReceive(org.springframework.messaging.Message<?> message,
org.springframework.messaging.MessageChannel channel)
This starts a consumer span as a child of the incoming message or the current trace
context, placing it in scope until the receive completes.
|
org.springframework.messaging.Message<?> |
preSend(org.springframework.messaging.Message<?> message,
org.springframework.messaging.MessageChannel channel)
Starts and propagates
Span.Kind#PRODUCER span for each message sent. |
void |
setApplicationContext(org.springframework.context.ApplicationContext applicationContext) |
public static final String STREAM_DIRECT_CHANNEL
public TracingChannelInterceptor(Tracer tracer, Propagator propagator, Propagator.Setter<org.springframework.messaging.support.MessageHeaderAccessor> setter, Propagator.Getter<org.springframework.messaging.support.MessageHeaderAccessor> getter, Function<String,String> remoteServiceNameMapper, MessageSpanCustomizer messageSpanCustomizer)
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
throws org.springframework.beans.BeansException
setApplicationContext in interface org.springframework.context.ApplicationContextAwareorg.springframework.beans.BeansExceptionpublic org.springframework.messaging.Message<?> preSend(org.springframework.messaging.Message<?> message,
org.springframework.messaging.MessageChannel channel)
Span.Kind#PRODUCER span for each message sent.preSend in interface org.springframework.messaging.support.ChannelInterceptorpublic void afterSendCompletion(org.springframework.messaging.Message<?> message,
org.springframework.messaging.MessageChannel channel,
boolean sent,
Exception ex)
afterSendCompletion in interface org.springframework.messaging.support.ChannelInterceptorpublic org.springframework.messaging.Message<?> postReceive(org.springframework.messaging.Message<?> message,
org.springframework.messaging.MessageChannel channel)
postReceive in interface org.springframework.messaging.support.ChannelInterceptorpublic void afterReceiveCompletion(org.springframework.messaging.Message<?> message,
org.springframework.messaging.MessageChannel channel,
Exception ex)
afterReceiveCompletion in interface org.springframework.messaging.support.ChannelInterceptorpublic org.springframework.messaging.Message<?> beforeHandle(org.springframework.messaging.Message<?> message,
org.springframework.messaging.MessageChannel channel,
org.springframework.messaging.MessageHandler handler)
beforeHandle in interface org.springframework.messaging.support.ExecutorChannelInterceptorpublic void afterMessageHandled(org.springframework.messaging.Message<?> message,
org.springframework.messaging.MessageChannel channel,
org.springframework.messaging.MessageHandler handler,
Exception ex)
afterMessageHandled in interface org.springframework.messaging.support.ExecutorChannelInterceptorCopyright © 2021 Pivotal Software, Inc.. All rights reserved.