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
Tracer provider implementation for TracerProvider.

This class is not intended to be used in application code and it is used only by OpenTelemetry. However, if you need a custom implementation of the factory, you can create one as needed.

  • Method Details

    • builder

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

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

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

      public io.opentelemetry.api.trace.TracerBuilder tracerBuilder(@Nullable String instrumentationName)
      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 this Tracer. 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 or reconfiguring this instance will result in undefined behavior. It should be considered a terminal operation for the SDK implementation.

      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 this Tracer. 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 or reconfiguring this instance will result in undefined behavior. It should be considered a terminal operation for the SDK implementation.

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