Package io.opentelemetry.sdk.trace
Class SdkTracerProviderBuilder
java.lang.Object
io.opentelemetry.sdk.trace.SdkTracerProviderBuilder
Builder of
SdkTracerProvider
.-
Method Summary
Modifier and TypeMethodDescriptionaddSpanProcessor
(SpanProcessor spanProcessor) Add a SpanProcessor to the span pipeline that will be built.build()
Create a newSdkTracerProvider
instance with the configuration.setClock
(io.opentelemetry.sdk.common.Clock clock) Assign aClock
.setIdGenerator
(IdGenerator idGenerator) Assign anIdGenerator
.setResource
(io.opentelemetry.sdk.resources.Resource resource) Assign aResource
to be attached to all Spans created by Tracers.setSampler
(Sampler sampler) Assign aSampler
to use for sampling traces.setSpanLimits
(SpanLimits spanLimits) Assign an initialSpanLimits
that should be used with this SDK.setSpanLimits
(Supplier<SpanLimits> spanLimitsSupplier) Assign aSupplier
ofSpanLimits
.
-
Method Details
-
setClock
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
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
Assign aResource
to be attached to all Spans created by Tracers.- Parameters:
resource
- A Resource implementation.- Returns:
- this
-
setSpanLimits
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
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
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
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
Create a newSdkTracerProvider
instance with the configuration.- Returns:
- The instance.
-