Package io.opentelemetry.sdk.trace
Class SdkTracerProviderBuilder
- java.lang.Object
-
- io.opentelemetry.sdk.trace.SdkTracerProviderBuilder
-
public final class SdkTracerProviderBuilder extends Object
Builder ofSdkTracerProvider.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SdkTracerProviderBuilderaddSpanProcessor(SpanProcessor spanProcessor)Add a SpanProcessor to the span pipeline that will be built.SdkTracerProviderbuild()Create a new TraceSdkProvider instance.SdkTracerProviderBuildersetClock(io.opentelemetry.sdk.common.Clock clock)Assign aClock.SdkTracerProviderBuildersetIdGenerator(IdGenerator idGenerator)Assign anIdGenerator.SdkTracerProviderBuildersetResource(io.opentelemetry.sdk.resources.Resource resource)Assign aResourceto be attached to all Spans created by Tracers.SdkTracerProviderBuildersetSampler(Sampler sampler)Assign aSamplerto use for sampling traces.SdkTracerProviderBuildersetSpanLimits(SpanLimits spanLimits)Assign an initialSpanLimitsthat should be used with this SDK.SdkTracerProviderBuildersetSpanLimits(Supplier<SpanLimits> spanLimitsSupplier)Assign aSupplierofSpanLimits.
-
-
-
Method Detail
-
setClock
public SdkTracerProviderBuilder setClock(io.opentelemetry.sdk.common.Clock clock)
Assign aClock.Clockwill be used each time aSpanis started, ended or any event is recorded.The
clockmust be thread-safe and return immediately (no remote calls, as contention free as possible).- Parameters:
clock- The clock to use for all temporal needs.- Returns:
- this
-
setIdGenerator
public SdkTracerProviderBuilder setIdGenerator(IdGenerator idGenerator)
Assign anIdGenerator.IdGeneratorwill be used each time aSpanis started.The
idGeneratormust be thread-safe and return immediately (no remote calls, as contention free as possible).- Parameters:
idGenerator- A generator for trace and span ids.- Returns:
- this
-
setResource
public SdkTracerProviderBuilder setResource(io.opentelemetry.sdk.resources.Resource resource)
Assign aResourceto be attached to all Spans created by Tracers.- Parameters:
resource- A Resource implementation.- Returns:
- this
-
setSpanLimits
public SdkTracerProviderBuilder setSpanLimits(SpanLimits spanLimits)
Assign an initialSpanLimitsthat should be used with this SDK.This method is equivalent to calling
setSpanLimits(Supplier)like this#setSpanLimits(() -> spanLimits).- Parameters:
spanLimits- the limits that will be used for everySpan.- Returns:
- this
-
setSpanLimits
public SdkTracerProviderBuilder setSpanLimits(Supplier<SpanLimits> spanLimitsSupplier)
Assign aSupplierofSpanLimits.SpanLimitswill be retrieved each time aSpanis started.The
spanLimitsSuppliermust be thread-safe and return immediately (no remote calls, as contention free as possible).- Parameters:
spanLimitsSupplier- the supplier that will be used to retrieve theSpanLimitsfor everySpan.- Returns:
- this
-
setSampler
public SdkTracerProviderBuilder setSampler(Sampler sampler)
Assign aSamplerto use for sampling traces.Samplerwill be called each time aSpanis started.The
samplermust be thread-safe and return immediately (no remote calls, as contention free as possible).- Parameters:
sampler- theSamplerto use for sampling traces.- Returns:
- this
-
addSpanProcessor
public SdkTracerProviderBuilder addSpanProcessor(SpanProcessor spanProcessor)
Add a SpanProcessor to the span pipeline that will be built.SpanProcessorwill be called each time aSpanis started or ended.The
spanProcessormust be thread-safe and return immediately (no remote calls, as contention free as possible).- Parameters:
spanProcessor- the processor to be added to the processing pipeline.- Returns:
- this
-
build
public SdkTracerProvider build()
Create a new TraceSdkProvider instance.- Returns:
- An initialized TraceSdkProvider.
-
-