Class SdkTracerProviderBuilder
SdkTracerProvider.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Clockprivate static final Samplerprivate IdGeneratorprivate Resourceprivate Samplerprivate Supplier<SpanLimits> private final List<SpanProcessor> private ScopeConfiguratorBuilder<TracerConfig> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddResource(Resource resource) Merge aResourcewith the current.addSpanProcessor(SpanProcessor spanProcessor) Add a SpanProcessor to the span pipeline that will be built.(package private) SdkTracerProviderBuilderaddTracerConfiguratorCondition(Predicate<InstrumentationScopeInfo> scopeMatcher, TracerConfig tracerConfig) Adds a condition to the tracer configurator, which computesTracerConfigfor eachInstrumentationScopeInfo.build()Create a newSdkTracerProviderinstance with the configuration.Assign aClock.setIdGenerator(IdGenerator idGenerator) Assign anIdGenerator.setResource(Resource resource) Assign aResourceto be attached to all Spans created by Tracers.setSampler(Sampler sampler) Assign aSamplerto use for sampling traces.setSpanLimits(SpanLimits spanLimits) Assign an initialSpanLimitsthat should be used with this SDK.setSpanLimits(Supplier<SpanLimits> spanLimitsSupplier) Assign aSupplierofSpanLimits.(package private) SdkTracerProviderBuildersetTracerConfigurator(ScopeConfigurator<TracerConfig> tracerConfigurator) Set the tracer configurator, which computesTracerConfigfor eachInstrumentationScopeInfo.
-
Field Details
-
DEFAULT_SAMPLER
-
spanProcessors
-
clock
-
idsGenerator
-
resource
-
spanLimitsSupplier
-
sampler
-
tracerConfiguratorBuilder
-
-
Constructor Details
-
SdkTracerProviderBuilder
SdkTracerProviderBuilder()
-
-
Method Details
-
setClock
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
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
Assign aResourceto be attached to all Spans created by Tracers.- Parameters:
resource- A Resource implementation.- Returns:
- this
-
addResource
Merge aResourcewith the current.- Parameters:
resource-Resourceto merge with current.- Since:
- 1.29.0
-
setSpanLimits
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
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
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
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
-
setTracerConfigurator
Set the tracer configurator, which computesTracerConfigfor 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 computesTracerConfigfor 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 newSdkTracerProviderinstance with the configuration.- Returns:
- The instance.
-