Class SdkTracerProvider
- java.lang.Object
-
- io.opentelemetry.sdk.trace.SdkTracerProvider
-
- All Implemented Interfaces:
io.opentelemetry.api.trace.TracerProvider
,SdkTracerManagement
,Closeable
,AutoCloseable
public final class SdkTracerProvider extends Object implements io.opentelemetry.api.trace.TracerProvider, SdkTracerManagement
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 Deprecated Methods Modifier and Type Method Description void
addSpanProcessor(SpanProcessor spanProcessor)
Deprecated.static SdkTracerProviderBuilder
builder()
Returns a newSdkTracerProviderBuilder
forSdkTracerProvider
.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)
TraceConfig
getActiveTraceConfig()
Returns the activeTraceConfig
.io.opentelemetry.sdk.common.CompletableResultCode
shutdown()
Attempts to stop all the activity for thisTracer
.void
updateActiveTraceConfig(TraceConfig traceConfig)
Deprecated.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.opentelemetry.sdk.trace.SdkTracerManagement
close
-
-
-
-
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
-
getActiveTraceConfig
public TraceConfig getActiveTraceConfig()
Description copied from interface:SdkTracerManagement
Returns the activeTraceConfig
.- Specified by:
getActiveTraceConfig
in interfaceSdkTracerManagement
- Returns:
- the active
TraceConfig
.
-
updateActiveTraceConfig
@Deprecated public void updateActiveTraceConfig(TraceConfig traceConfig)
Deprecated.Description copied from interface:SdkTracerManagement
Updates the activeTraceConfig
.Note: To update the
TraceConfig
associated with this instance you should use theTraceConfig.toBuilder()
method on theTraceConfig
returned fromSdkTracerManagement.getActiveTraceConfig()
, make the changes desired to theTraceConfigBuilder
instance, then use this method with the resultingTraceConfig
instance.- Specified by:
updateActiveTraceConfig
in interfaceSdkTracerManagement
- Parameters:
traceConfig
- the new activeTraceConfig
.- See Also:
TraceConfig
-
addSpanProcessor
@Deprecated public void addSpanProcessor(SpanProcessor spanProcessor)
Deprecated.Description copied from interface:SdkTracerManagement
Adds a newSpanProcessor
to thisTracer
.Any registered processor cause overhead, consider to use an async/batch processor especially for span exporting, and export to multiple backends using the
SpanExporter.composite(SpanExporter...)
.- Specified by:
addSpanProcessor
in interfaceSdkTracerManagement
- Parameters:
spanProcessor
- the newSpanProcessor
to be added.
-
shutdown
public io.opentelemetry.sdk.common.CompletableResultCode shutdown()
Description copied from interface:SdkTracerManagement
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:
shutdown
in interfaceSdkTracerManagement
- Returns:
- a
CompletableResultCode
which is completed when all the span processors have been shut down.
-
forceFlush
public io.opentelemetry.sdk.common.CompletableResultCode forceFlush()
Description copied from interface:SdkTracerManagement
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.- Specified by:
forceFlush
in interfaceSdkTracerManagement
- See Also:
SpanProcessor.forceFlush()
-
-