Class SdkTracerProviderBuilder
SdkTracerProvider
.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Clock
private static final Sampler
private IdGenerator
private Resource
private Sampler
private Supplier
<SpanLimits> private final List
<SpanProcessor> private ScopeConfiguratorBuilder
<TracerConfig> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddResource
(Resource resource) Merge aResource
with the current.addSpanProcessor
(SpanProcessor spanProcessor) Add a SpanProcessor to the span pipeline that will be built.(package private) SdkTracerProviderBuilder
addTracerConfiguratorCondition
(Predicate<InstrumentationScopeInfo> scopeMatcher, TracerConfig tracerConfig) Adds a condition to the tracer configurator, which computesTracerConfig
for eachInstrumentationScopeInfo
.build()
Create a newSdkTracerProvider
instance with the configuration.Assign aClock
.setIdGenerator
(IdGenerator idGenerator) Assign anIdGenerator
.setResource
(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
.(package private) SdkTracerProviderBuilder
setTracerConfigurator
(ScopeConfigurator<TracerConfig> tracerConfigurator) Set the tracer configurator, which computesTracerConfig
for eachInstrumentationScopeInfo
.
-
Field Details
-
DEFAULT_SAMPLER
-
spanProcessors
-
clock
-
idsGenerator
-
resource
-
spanLimitsSupplier
-
sampler
-
tracerConfiguratorBuilder
-
-
Constructor Details
-
SdkTracerProviderBuilder
SdkTracerProviderBuilder()
-
-
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
-
addResource
Merge aResource
with the current.- Parameters:
resource
-Resource
to merge with current.- Since:
- 1.29.0
-
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
-
setTracerConfigurator
Set the tracer configurator, which computesTracerConfig
for eachInstrumentationScopeInfo
.This method is experimental so not public. You may reflectively call it using
SdkTracerProviderUtil.setTracerConfigurator(SdkTracerProviderBuilder, ScopeConfigurator)
.Overrides any matchers added via
addTracerConfiguratorCondition(Predicate, TracerConfig)
.- See Also:
-
addTracerConfiguratorCondition
SdkTracerProviderBuilder addTracerConfiguratorCondition(Predicate<InstrumentationScopeInfo> scopeMatcher, TracerConfig tracerConfig) Adds a condition to the tracer configurator, which computesTracerConfig
for eachInstrumentationScopeInfo
.This method is experimental so not public. You may reflectively call it using
SdkTracerProviderUtil.addTracerConfiguratorCondition(SdkTracerProviderBuilder, Predicate, TracerConfig)
.Applies after any previously added conditions.
If
setTracerConfigurator(ScopeConfigurator)
was previously called, this condition will only be applied if theFunction.apply(Object)
returns null for the matchedInstrumentationScopeInfo
(s).- See Also:
-
build
Create a newSdkTracerProvider
instance with the configuration.- Returns:
- The instance.
-