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 forTracerProvider
.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 Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SdkTracerProviderBuilder
builder()
Returns a newSdkTracerProviderBuilder
forSdkTracerProvider
.void
close()
Attempts to stop all the activity for thisTracer
.io.opentelemetry.sdk.common.CompletableResultCode
forceFlush()
Requests the active span processor to process all span events that have not yet been processed and returns aCompletableResultCode
which is completed when the flush is finished.io.opentelemetry.api.trace.Tracer
get(String instrumentationName)
io.opentelemetry.api.trace.Tracer
get(String instrumentationName, String instrumentationVersion)
Sampler
getSampler()
Returns the configuredSampler
.SpanLimits
getSpanLimits()
Returns theSpanLimits
that are currently applied to created spans.io.opentelemetry.sdk.common.CompletableResultCode
shutdown()
Attempts to stop all the activity for thisTracer
.
-
-
-
Method Detail
-
builder
public static SdkTracerProviderBuilder builder()
Returns a newSdkTracerProviderBuilder
forSdkTracerProvider
.- Returns:
- a new
SdkTracerProviderBuilder
forSdkTracerProvider
.
-
get
public io.opentelemetry.api.trace.Tracer get(String instrumentationName)
- Specified by:
get
in interfaceio.opentelemetry.api.trace.TracerProvider
-
get
public io.opentelemetry.api.trace.Tracer get(String instrumentationName, @Nullable String instrumentationVersion)
- Specified by:
get
in interfaceio.opentelemetry.api.trace.TracerProvider
-
getSpanLimits
public SpanLimits getSpanLimits()
Returns theSpanLimits
that are currently applied to created spans.
-
shutdown
public io.opentelemetry.sdk.common.CompletableResultCode shutdown()
Attempts to stop all the activity for thisTracer
. CallsSpanProcessor.shutdown()
for all registeredSpanProcessor
s.The returned
CompletableResultCode
will be completed when all the Spans are processed.After this is called, newly created
Span
s 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 aCompletableResultCode
which is completed when the flush is finished.- See Also:
SpanProcessor.forceFlush()
-
close
public void close()
Attempts to stop all the activity for thisTracer
. CallsSpanProcessor.shutdown()
for all registeredSpanProcessor
s.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
Span
s 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 interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
-