Class ObservationAwareSpanThreadLocalAccessor
java.lang.Object
io.micrometer.tracing.contextpropagation.ObservationAwareSpanThreadLocalAccessor
- All Implemented Interfaces:
io.micrometer.context.ThreadLocalAccessor<Span>
public class ObservationAwareSpanThreadLocalAccessor
extends Object
implements io.micrometer.context.ThreadLocalAccessor<Span>
A
ThreadLocalAccessor to put and restore current Span depending on
whether ObservationThreadLocalAccessor did some work or not (if
ObservationThreadLocalAccessor opened a scope, then this class doesn't want to
create yet another span).
In essence logic of this class is as follows:
- If
ObservationThreadLocalAccessorcreated aSpanvia theTracingObservationHandler- do nothing - else - take care of the creation of a
Spanand putting it in thread local
ObservationAwareSpanThreadLocalAccessor must be registered
AFTER the ObservationThreadLocalAccessor. The easiest way to achieve that is to
call ContextRegistry.registerThreadLocalAccessor(ThreadLocalAccessor) manually.- Since:
- 1.0.4
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionObservationAwareSpanThreadLocalAccessor(io.micrometer.observation.ObservationRegistry observationRegistry, Tracer tracer) Creates a new instance ofObservationThreadLocalAccessor.Creates a new instance ofObservationThreadLocalAccessor. -
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micrometer.context.ThreadLocalAccessor
reset
-
Field Details
-
KEY
Key under which Micrometer Tracing is being registered.- See Also:
-
-
Constructor Details
-
ObservationAwareSpanThreadLocalAccessor
Creates a new instance ofObservationThreadLocalAccessor.- Parameters:
tracer- tracer
-
ObservationAwareSpanThreadLocalAccessor
public ObservationAwareSpanThreadLocalAccessor(io.micrometer.observation.ObservationRegistry observationRegistry, Tracer tracer) Creates a new instance ofObservationThreadLocalAccessor.- Parameters:
observationRegistry- observationRegistrytracer- tracer
-
-
Method Details
-
key
- Specified by:
keyin interfaceio.micrometer.context.ThreadLocalAccessor<Span>
-
getValue
- Specified by:
getValuein interfaceio.micrometer.context.ThreadLocalAccessor<Span>
-
setValue
- Specified by:
setValuein interfaceio.micrometer.context.ThreadLocalAccessor<Span>
-
setValue
public void setValue()- Specified by:
setValuein interfaceio.micrometer.context.ThreadLocalAccessor<Span>
-
restore
- Specified by:
restorein interfaceio.micrometer.context.ThreadLocalAccessor<Span>
-
restore
public void restore()- Specified by:
restorein interfaceio.micrometer.context.ThreadLocalAccessor<Span>
-