Package io.opentelemetry.sdk.trace
Class SdkTracerProvider
java.lang.Object
io.opentelemetry.sdk.trace.SdkTracerProvider
- All Implemented Interfaces:
TracerProvider,Closeable,AutoCloseable
SDK implementation for
TracerProvider.-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final Stringprivate static final Loggerprivate final TracerSharedStateprivate final ScopeConfigurator<TracerConfig> private final ComponentRegistry<SdkTracer> -
Constructor Summary
ConstructorsConstructorDescriptionSdkTracerProvider(Clock clock, IdGenerator idsGenerator, Resource resource, Supplier<SpanLimits> spanLimitsSupplier, Sampler sampler, List<SpanProcessor> spanProcessors, ScopeConfigurator<TracerConfig> tracerConfigurator) -
Method Summary
Modifier and TypeMethodDescriptionstatic SdkTracerProviderBuilderbuilder()Returns a newSdkTracerProviderBuilderforSdkTracerProvider.voidclose()Attempts to stop all the activity forTracers created by this provider.Requests the active span processor to process all span events that have not yet been processed and returns aCompletableResultCodewhich is completed when the flush is finished.Gets or creates a named tracer instance.Gets or creates a named and versioned tracer instance.Returns the configuredSampler.Returns theSpanLimitsthat are currently applied to created spans.private TracerConfiggetTracerConfig(InstrumentationScopeInfo instrumentationScopeInfo) shutdown()Attempts to stop all the activity forTracers created by this provider.toString()tracerBuilder(String instrumentationScopeName) Creates a TracerBuilder for a namedTracerinstance.
-
Field Details
-
logger
-
DEFAULT_TRACER_NAME
- See Also:
-
tracerSdkComponentRegistry
-
tracerConfigurator
-
-
Constructor Details
-
SdkTracerProvider
SdkTracerProvider(Clock clock, IdGenerator idsGenerator, Resource resource, Supplier<SpanLimits> spanLimitsSupplier, Sampler sampler, List<SpanProcessor> spanProcessors, ScopeConfigurator<TracerConfig> tracerConfigurator)
-
-
Method Details
-
builder
Returns a newSdkTracerProviderBuilderforSdkTracerProvider.- Returns:
- a new
SdkTracerProviderBuilderforSdkTracerProvider.
-
getTracerConfig
-
get
Description copied from interface:TracerProviderGets or creates a named tracer instance.- Specified by:
getin interfaceTracerProvider- Parameters:
instrumentationScopeName- A name uniquely identifying the instrumentation scope, such as the instrumentation library, package, or fully qualified class name. Must not be null.- Returns:
- a tracer instance.
-
get
Description copied from interface:TracerProviderGets or creates a named and versioned tracer instance.- Specified by:
getin interfaceTracerProvider- Parameters:
instrumentationScopeName- A name uniquely identifying the instrumentation scope, such as the instrumentation library, package, or fully qualified class name. Must not be null.instrumentationScopeVersion- The version of the instrumentation scope (e.g., "1.0.0").- Returns:
- a tracer instance.
-
tracerBuilder
Description copied from interface:TracerProviderCreates a TracerBuilder for a namedTracerinstance.- Specified by:
tracerBuilderin interfaceTracerProvider- Parameters:
instrumentationScopeName- A name uniquely identifying the instrumentation scope, such as the instrumentation library, package, or fully qualified class name. Must not be null.- Returns:
- a TracerBuilder instance.
-
getSpanLimits
Returns theSpanLimitsthat are currently applied to created spans. -
getSampler
Returns the configuredSampler. -
shutdown
Attempts to stop all the activity forTracers created by this provider. CallsSpanProcessor.shutdown()for all registeredSpanProcessors.The returned
CompletableResultCodewill 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
CompletableResultCodewhich is completed when all the span processors have been shut down.
-
forceFlush
Requests the active span processor to process all span events that have not yet been processed and returns aCompletableResultCodewhich is completed when the flush is finished.- See Also:
-
close
public void close()Attempts to stop all the activity forTracers created by this provider. CallsSpanProcessor.shutdown()for all registeredSpanProcessors.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:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
toString
-