Class MessagingTelemetryCarrier<T>
java.lang.Object
io.opentelemetry.javaagent.bootstrap.messaging.MessagingTelemetryCarrier<T>
Accesses the
MessagingTelemetrySignals attached to objects that carry in-flight messages.
Signals live here rather than in the Context when the message
outlives the scope that emitted telemetry for it, or reaches the next instrumentation on a
different thread. A JMS message that already has a receive span, for instance, still has it when
a listener picks it up later.
Instrumentations that coordinate through a carrier must create accessors with the same virtual field type pair.
-
Method Summary
Modifier and TypeMethodDescriptionvoidadd(T carrier, io.opentelemetry.instrumentation.api.incubator.semconv.messaging.MessagingOperationType operation, io.opentelemetry.instrumentation.api.incubator.semconv.messaging.internal.MessagingTelemetrySignal signal) voidForgets every signal oncarrier.booleancontains(T carrier, io.opentelemetry.instrumentation.api.incubator.semconv.messaging.MessagingOperationType operation, io.opentelemetry.instrumentation.api.incubator.semconv.messaging.internal.MessagingTelemetrySignal signal) static <T> MessagingTelemetryCarrier<T> create(io.opentelemetry.instrumentation.api.util.VirtualField<T, io.opentelemetry.instrumentation.api.incubator.semconv.messaging.internal.MessagingTelemetrySignals> signalsField) io.opentelemetry.instrumentation.api.incubator.semconv.messaging.internal.MessagingTelemetrySignalsgetSignals(T carrier) Returns the signals held bycarrier, or no signals when it is null or has none.<S> voidmergeFrom(MessagingTelemetryCarrier<S> sourceCarrier, S source, T target) Adds everythingsourceholds to whattargetalready holds, for an object that wraps or continues another one without replacing what is known about it.<S> voidreplaceFrom(MessagingTelemetryCarrier<S> sourceCarrier, S source, T target) Makestargethold exactly whatsourceholds, for an object that is being reused or refilled and must not keep the signals of the message it carried before.
-
Method Details
-
create
public static <T> MessagingTelemetryCarrier<T> create(io.opentelemetry.instrumentation.api.util.VirtualField<T, io.opentelemetry.instrumentation.api.incubator.semconv.messaging.internal.MessagingTelemetrySignals> signalsField) -
getSignals
-
contains
-
add
-
mergeFrom
public <S> void mergeFrom(MessagingTelemetryCarrier<S> sourceCarrier, @Nullable S source, @Nullable T target) Adds everythingsourceholds to whattargetalready holds, for an object that wraps or continues another one without replacing what is known about it. -
replaceFrom
public <S> void replaceFrom(MessagingTelemetryCarrier<S> sourceCarrier, @Nullable S source, @Nullable T target) Makestargethold exactly whatsourceholds, for an object that is being reused or refilled and must not keep the signals of the message it carried before. -
clear
-