Package brave.propagation
Class ExtraFieldPropagation.Factory
- java.lang.Object
-
- brave.propagation.Propagation.Factory
-
- brave.propagation.ExtraFieldPropagation.Factory
-
- Enclosing class:
- ExtraFieldPropagation<K>
public static class ExtraFieldPropagation.Factory extends Propagation.Factory
Deprecated.Since 5.11 usePropagation.Factory
-
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description <K> ExtraFieldPropagation<K>create(Propagation.KeyFactory<K> keyFactory)Deprecated.TraceContextdecorate(TraceContext context)Deprecated.Decorates the input such that it can propagate extra state, such as a timestamp or baggage.ExtraFieldPropagation<String>get()Deprecated.Returns a possibly cached propagation instance.booleanrequires128BitTraceId()Deprecated.Returnstrueif the implementation cannot use 64-bit trace IDs.booleansupportsJoin()Deprecated.Does the propagation implementation support sharing client and server span IDs.
-
-
-
Method Detail
-
get
public ExtraFieldPropagation<String> get()
Deprecated.Returns a possibly cached propagation instance.Implementations should override and implement this method directly.
- Overrides:
getin classPropagation.Factory
-
create
@Deprecated public <K> ExtraFieldPropagation<K> create(Propagation.KeyFactory<K> keyFactory)
Deprecated.This is deprecated: end users and instrumentation should never call this, and instead usePropagation.Factory.get().Implementation advice
This is deprecated, but abstract. This means those implementing custom propagation formats will have to implement this until it is removed in Brave 6. If you are able to use a tool such as "maven-shade-plugin", consider usingStringPropagationAdapter.- Specified by:
createin classPropagation.Factory- Type Parameters:
K- Deprecated except when aString.- See Also:
Propagation.KeyFactory.STRING
-
supportsJoin
public boolean supportsJoin()
Deprecated.Description copied from class:Propagation.FactoryDoes the propagation implementation support sharing client and server span IDs. For example, should an RPC server span share the same identifiers extracted from an incoming request? In usual B3 Propagation, the parent span ID is sent across the wire so that the client and server can share the same identifiers. Other propagation formats, like trace-context only propagate the calling trace and span ID, with an assumption that the receiver always starts a new child span. When join is supported, you can assume that whenthe parent span IDis null, you've been propagated a root span. When join is not supported, you must always fork a new child.- Overrides:
supportsJoinin classPropagation.Factory
-
requires128BitTraceId
public boolean requires128BitTraceId()
Deprecated.Description copied from class:Propagation.FactoryReturnstrueif the implementation cannot use 64-bit trace IDs.- Overrides:
requires128BitTraceIdin classPropagation.Factory
-
decorate
public TraceContext decorate(TraceContext context)
Deprecated.Description copied from class:Propagation.FactoryDecorates the input such that it can propagate extra state, such as a timestamp or baggage.Implementations are responsible for data scoping, if relevant. For example, if only global configuration is present, it could suffice to simply ensure that data is present. If data is span-scoped, an implementation might compare the context to its last span ID, copying on write or otherwise to ensure writes to one context don't affect another.
Implementations should be idempotent, returning the same instance instead of re-applying change.
- Overrides:
decoratein classPropagation.Factory- See Also:
TraceContext.extra()
-
-