Class B3Format
java.lang.Object
io.opencensus.trace.propagation.TextFormat
io.opencensus.implcore.trace.propagation.B3Format
Implementation of the B3 propagation protocol. See b3-propagation.
-
Nested Class Summary
Nested classes/interfaces inherited from class io.opencensus.trace.propagation.TextFormat
TextFormat.Getter<C>, TextFormat.Setter<C>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String
private static final String
private static final Tracestate
private static final String
(package private) static final String
(package private) static final String
(package private) static final String
(package private) static final String
(package private) static final String
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<C> SpanContext
extract
(C carrier, TextFormat.Getter<C> getter) Extracts the span context from upstream.fields()
The propagation fields defined.<C> void
inject
(SpanContext spanContext, C carrier, TextFormat.Setter<C> setter) Injects the span context downstream.
-
Field Details
-
TRACESTATE_DEFAULT
-
X_B3_TRACE_ID
- See Also:
-
X_B3_SPAN_ID
- See Also:
-
X_B3_PARENT_SPAN_ID
- See Also:
-
X_B3_SAMPLED
- See Also:
-
X_B3_FLAGS
- See Also:
-
FIELDS
-
UPPER_TRACE_ID
- See Also:
-
SAMPLED_VALUE
- See Also:
-
FLAGS_VALUE
- See Also:
-
-
Constructor Details
-
B3Format
B3Format()
-
-
Method Details
-
fields
Description copied from class:TextFormat
The propagation fields defined. If your carrier is reused, you should delete the fields here before callingTextFormat.inject(SpanContext, Object, Setter)
.For example, if the carrier is a single-use or immutable request object, you don't need to clear fields as they couldn't have been set before. If it is a mutable, retryable object, successive calls should clear these fields first.
- Specified by:
fields
in classTextFormat
-
inject
Description copied from class:TextFormat
Injects the span context downstream. For example, as http headers.- Specified by:
inject
in classTextFormat
- Parameters:
spanContext
- possibly not sampled.carrier
- holds propagation fields. For example, an outgoing message or http request.setter
- invoked for each propagation key to add or remove.
-
extract
public <C> SpanContext extract(C carrier, TextFormat.Getter<C> getter) throws SpanContextParseException Description copied from class:TextFormat
Extracts the span context from upstream. For example, as http headers.- Specified by:
extract
in classTextFormat
- Parameters:
carrier
- holds propagation fields. For example, an outgoing message or http request.getter
- invoked for each propagation key to get.- Throws:
SpanContextParseException
- if the input is invalid
-