Class OtelCurrentTraceContext

java.lang.Object
io.micrometer.tracing.otel.bridge.OtelCurrentTraceContext
All Implemented Interfaces:
io.micrometer.tracing.CurrentTraceContext

public class OtelCurrentTraceContext extends Object implements io.micrometer.tracing.CurrentTraceContext
OpenTelemetry implementation of a CurrentTraceContext.
Since:
1.0.0
  • Nested Class Summary

    Nested classes/interfaces inherited from interface io.micrometer.tracing.CurrentTraceContext

    io.micrometer.tracing.CurrentTraceContext.Scope
  • Field Summary

    Fields inherited from interface io.micrometer.tracing.CurrentTraceContext

    NOOP
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    io.micrometer.tracing.TraceContext
     
    io.micrometer.tracing.CurrentTraceContext.Scope
    maybeScope(io.micrometer.tracing.TraceContext context)
     
    io.micrometer.tracing.CurrentTraceContext.Scope
    newScope(io.micrometer.tracing.TraceContext context)
    Since OpenTelemetry works on statics, and we would like to pass the tracing information on the TraceContext we are checking what we have currently in ThreadLocal and what was passed on TraceContext.
    wrap(Runnable task)
     
    <C> Callable<C>
    wrap(Callable<C> task)
     
    wrap(Executor delegate)
     
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • OtelCurrentTraceContext

      public OtelCurrentTraceContext()
  • Method Details

    • context

      public io.micrometer.tracing.TraceContext context()
      Specified by:
      context in interface io.micrometer.tracing.CurrentTraceContext
    • newScope

      public io.micrometer.tracing.CurrentTraceContext.Scope newScope(io.micrometer.tracing.TraceContext context)
      Since OpenTelemetry works on statics, and we would like to pass the tracing information on the TraceContext we are checking what we have currently in ThreadLocal and what was passed on TraceContext.
      Specified by:
      newScope in interface io.micrometer.tracing.CurrentTraceContext
      Parameters:
      context - span to place into scope or null to clear the scope
      Returns:
      scope that always must be closed
    • maybeScope

      public io.micrometer.tracing.CurrentTraceContext.Scope maybeScope(io.micrometer.tracing.TraceContext context)
      Specified by:
      maybeScope in interface io.micrometer.tracing.CurrentTraceContext
    • wrap

      public <C> Callable<C> wrap(Callable<C> task)
      Specified by:
      wrap in interface io.micrometer.tracing.CurrentTraceContext
    • wrap

      public Runnable wrap(Runnable task)
      Specified by:
      wrap in interface io.micrometer.tracing.CurrentTraceContext
    • wrap

      public Executor wrap(Executor delegate)
      Specified by:
      wrap in interface io.micrometer.tracing.CurrentTraceContext
    • wrap

      public ExecutorService wrap(ExecutorService delegate)
      Specified by:
      wrap in interface io.micrometer.tracing.CurrentTraceContext