Class SdkTracerProvider

java.lang.Object
io.opentelemetry.sdk.trace.SdkTracerProvider
All Implemented Interfaces:
io.opentelemetry.api.trace.TracerProvider, Closeable, AutoCloseable

public final class SdkTracerProvider extends Object implements io.opentelemetry.api.trace.TracerProvider, Closeable
SDK implementation for TracerProvider.
  • Method Details

    • builder

      public static SdkTracerProviderBuilder builder()
      Returns:
      a new SdkTracerProviderBuilder for SdkTracerProvider.
    • get

      public io.opentelemetry.api.trace.Tracer get(String instrumentationScopeName)
      Specified by:
      get in interface io.opentelemetry.api.trace.TracerProvider
    • get

      public io.opentelemetry.api.trace.Tracer get(String instrumentationScopeName, String instrumentationScopeVersion)
      Specified by:
      get in interface io.opentelemetry.api.trace.TracerProvider
    • tracerBuilder

      public io.opentelemetry.api.trace.TracerBuilder tracerBuilder(@Nullable String instrumentationScopeName)
      Specified by:
      tracerBuilder in interface io.opentelemetry.api.trace.TracerProvider
    • getSpanLimits

      public SpanLimits getSpanLimits()
      Returns the SpanLimits that are currently applied to created spans.
    • getSampler

      public Sampler getSampler()
      Returns the configured Sampler.
    • shutdown

      public io.opentelemetry.sdk.common.CompletableResultCode shutdown()
      Attempts to stop all the activity for Tracers created by this provider. Calls SpanProcessor.shutdown() for all registered SpanProcessors.

      The returned CompletableResultCode will be completed when all the Spans are processed.

      After this is called, newly created Spans will be no-ops.

      After this is called, further attempts at re-using this instance will result in undefined behavior. It should be considered a terminal operation for the SDK.

      Returns:
      a CompletableResultCode which is completed when all the span processors have been shut down.
    • forceFlush

      public io.opentelemetry.sdk.common.CompletableResultCode forceFlush()
      Requests the active span processor to process all span events that have not yet been processed and returns a CompletableResultCode which is completed when the flush is finished.
      See Also:
    • close

      public void close()
      Attempts to stop all the activity for Tracers created by this provider. Calls SpanProcessor.shutdown() for all registered SpanProcessors.

      This operation may block until all the Spans are processed. Must be called before turning off the main application to ensure all data are processed and exported.

      After this is called, newly created Spans will be no-ops.

      After this is called, further attempts at re-using this instance will result in undefined behavior. It should be considered a terminal operation for the SDK.

      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
    • toString

      public String toString()
      Overrides:
      toString in class Object