Class 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 Detail

      • 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,
                                                     @Nullable
                                                     String instrumentationVersion)
        Specified by:
        get 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:
        SpanProcessor.forceFlush()
      • 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