public class TraceContextCodec extends java.lang.Object implements Codec<io.opentracing.propagation.TextMap>
Modifier and Type | Class and Description |
---|---|
static class |
TraceContextCodec.Builder |
Modifier and Type | Method and Description |
---|---|
JaegerSpanContext |
extract(io.opentracing.propagation.TextMap carrier)
Called when
Tracer.extract(io.opentracing.propagation.Format, Object)
is used. |
void |
inject(JaegerSpanContext spanContext,
io.opentracing.propagation.TextMap carrier)
Called when
Tracer.inject(io.opentracing.SpanContext, Format, Object)
is used. |
public JaegerSpanContext extract(io.opentracing.propagation.TextMap carrier)
Extractor
Called when Tracer.extract(io.opentracing.propagation.Format, Object)
is used. It should handle the logic behind extracting propagation-scheme
specific information from carrier (e.g. http request headers, amqp message headers, etc.).
This method must not modify the carrier
All exceptions thrown from this method will be caught and logged on WARN
level so
that business code execution isn't affected. If possible, catch implementation specific
exceptions and log more meaningful information.
extract
in interface Extractor<io.opentracing.propagation.TextMap>
carrier
- input that you extract Span information from, usually TextMap
.JaegerSpanContext
or null
if carrier doesn't contain tracing information, it
is not valid or is incompleteB3TextMapCodec
,
TextMapCodec
public void inject(JaegerSpanContext spanContext, io.opentracing.propagation.TextMap carrier)
Injector
Called when Tracer.inject(io.opentracing.SpanContext, Format, Object)
is used. It should handle the logic behind injecting propagation scheme
specific information into the carrier (e.g. http request headers, amqp message headers,
etc.).
All exceptions thrown from this method will be caught and logged on ERROR
level so
that business code execution isn't affected. If possible, catch implementation specific
exceptions and log more meaningful information.
inject
in interface Injector<io.opentracing.propagation.TextMap>
spanContext
- span context that should be used to pass trace information with the carriercarrier
- holder of data that is used to pass tracing information between processesB3TextMapCodec
,
TextMapCodec