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 SdkTracerProviderBuilder
addSpanProcessor(SpanProcessor spanProcessor)
Add a SpanProcessor to the span pipeline that will be built.SdkTracerProvider
build()
Create a new TraceSdkProvider instance.SdkTracerProviderBuilder
setClock(io.opentelemetry.sdk.common.Clock clock)
Assign aClock
.SdkTracerProviderBuilder
setIdGenerator(IdGenerator idGenerator)
Assign anIdGenerator
.SdkTracerProviderBuilder
setResource(io.opentelemetry.sdk.resources.Resource resource)
Assign aResource
to be attached to all Spans created by Tracers.SdkTracerProviderBuilder
setSampler(Sampler sampler)
Assign aSampler
to use for sampling traces.SdkTracerProviderBuilder
setSpanLimits(SpanLimits spanLimits)
Assign an initialSpanLimits
that should be used with this SDK.SdkTracerProviderBuilder
setSpanLimits(Supplier<SpanLimits> spanLimitsSupplier)
Assign aSupplier
ofSpanLimits
.
-
-
-
Method Detail
-
setClock
public SdkTracerProviderBuilder setClock(io.opentelemetry.sdk.common.Clock clock)
Assign aClock
.Clock
will be used each time aSpan
is started, ended or any event is recorded.The
clock
must 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
.IdGenerator
will be used each time aSpan
is started.The
idGenerator
must 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 aResource
to be attached to all Spans created by Tracers.- Parameters:
resource
- A Resource implementation.- Returns:
- this
-
setSpanLimits
public SdkTracerProviderBuilder setSpanLimits(SpanLimits spanLimits)
Assign an initialSpanLimits
that 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 aSupplier
ofSpanLimits
.SpanLimits
will be retrieved each time aSpan
is started.The
spanLimitsSupplier
must be thread-safe and return immediately (no remote calls, as contention free as possible).- Parameters:
spanLimitsSupplier
- the supplier that will be used to retrieve theSpanLimits
for everySpan
.- Returns:
- this
-
setSampler
public SdkTracerProviderBuilder setSampler(Sampler sampler)
Assign aSampler
to use for sampling traces.Sampler
will be called each time aSpan
is started.The
sampler
must be thread-safe and return immediately (no remote calls, as contention free as possible).- Parameters:
sampler
- theSampler
to use for sampling traces.- Returns:
- this
-
addSpanProcessor
public SdkTracerProviderBuilder addSpanProcessor(SpanProcessor spanProcessor)
Add a SpanProcessor to the span pipeline that will be built.SpanProcessor
will be called each time aSpan
is started or ended.The
spanProcessor
must 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.
-
-