Class SdkMeterProviderBuilder
- java.lang.Object
-
- io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder
-
public final class SdkMeterProviderBuilder extends java.lang.Object
Builder class for theSdkMeterProvider
.- Since:
- 1.14.0
-
-
Field Summary
Fields Modifier and Type Field Description private Clock
clock
private static ExemplarFilter
DEFAULT_EXEMPLAR_FILTER
By default, the exemplar filter is set to sample with traces.private ExemplarFilter
exemplarFilter
private ScopeConfiguratorBuilder<MeterConfig>
meterConfiguratorBuilder
private java.util.List<MetricProducer>
metricProducers
private java.util.IdentityHashMap<MetricReader,CardinalityLimitSelector>
metricReaders
private java.util.List<RegisteredView>
registeredViews
private Resource
resource
-
Constructor Summary
Constructors Constructor Description SdkMeterProviderBuilder()
-
Method Summary
-
-
-
Field Detail
-
DEFAULT_EXEMPLAR_FILTER
private static final ExemplarFilter DEFAULT_EXEMPLAR_FILTER
By default, the exemplar filter is set to sample with traces.- See Also:
setExemplarFilter(ExemplarFilter)
-
clock
private Clock clock
-
resource
private Resource resource
-
metricReaders
private final java.util.IdentityHashMap<MetricReader,CardinalityLimitSelector> metricReaders
-
metricProducers
private final java.util.List<MetricProducer> metricProducers
-
registeredViews
private final java.util.List<RegisteredView> registeredViews
-
exemplarFilter
private ExemplarFilter exemplarFilter
-
meterConfiguratorBuilder
private ScopeConfiguratorBuilder<MeterConfig> meterConfiguratorBuilder
-
-
Method Detail
-
setClock
public SdkMeterProviderBuilder setClock(Clock clock)
Assign aClock
.- Parameters:
clock
- The clock to use for all temporal needs.
-
setResource
public SdkMeterProviderBuilder setResource(Resource resource)
Assign aResource
to be attached to all metrics.
-
addResource
public SdkMeterProviderBuilder addResource(Resource resource)
Merge aResource
with the current.- Parameters:
resource
-Resource
to merge with current.- Since:
- 1.29.0
-
setExemplarFilter
SdkMeterProviderBuilder setExemplarFilter(ExemplarFilter filter)
Assign anExemplarFilter
for all metrics created by Meters.This method is experimental so not public. You may reflectively call it using
SdkMeterProviderUtil.setExemplarFilter(SdkMeterProviderBuilder, ExemplarFilter)
.
-
registerView
public SdkMeterProviderBuilder registerView(InstrumentSelector selector, View view)
Register aView
.The
view
influences how instruments which match theselector
are aggregated and exported.For example, the following code registers a view which changes all histogram instruments to aggregate with bucket boundaries different from the default:
// create a SdkMeterProviderBuilder SdkMeterProviderBuilder meterProviderBuilder = SdkMeterProvider.builder(); // register the view with the SdkMeterProviderBuilder meterProviderBuilder.registerView( InstrumentSelector.builder() .setType(InstrumentType.HISTOGRAM) .build(), View.builder() .setAggregation( Aggregation.explicitBucketHistogram(Arrays.asList(10d, 20d, 30d, 40d, 50d))) .build());
-
registerMetricReader
public SdkMeterProviderBuilder registerMetricReader(MetricReader reader)
Registers aMetricReader
.
-
registerMetricReader
public SdkMeterProviderBuilder registerMetricReader(MetricReader reader, CardinalityLimitSelector cardinalityLimitSelector)
Registers aMetricReader
with aCardinalityLimitSelector
.If
registerMetricReader(MetricReader)
is used, theCardinalityLimitSelector.defaultCardinalityLimitSelector()
is used.- Since:
- 1.44.0
-
registerMetricProducer
public SdkMeterProviderBuilder registerMetricProducer(MetricProducer metricProducer)
Registers aMetricProducer
.- Since:
- 1.31.0
-
setMeterConfigurator
SdkMeterProviderBuilder setMeterConfigurator(ScopeConfigurator<MeterConfig> meterConfigurator)
Set the meter configurator, which computesMeterConfig
for eachInstrumentationScopeInfo
.This method is experimental so not public. You may reflectively call it using
SdkMeterProviderUtil.setMeterConfigurator(SdkMeterProviderBuilder, ScopeConfigurator)
.Overrides any matchers added via
addMeterConfiguratorCondition(Predicate, MeterConfig)
.- See Also:
MeterConfig.configuratorBuilder()
-
addMeterConfiguratorCondition
SdkMeterProviderBuilder addMeterConfiguratorCondition(java.util.function.Predicate<InstrumentationScopeInfo> scopeMatcher, MeterConfig meterConfig)
Adds a condition to the meter configurator, which computesMeterConfig
for eachInstrumentationScopeInfo
.This method is experimental so not public. You may reflectively call it using
SdkMeterProviderUtil.addMeterConfiguratorCondition(SdkMeterProviderBuilder, Predicate, MeterConfig)
.Applies after any previously added conditions.
If
setMeterConfigurator(ScopeConfigurator)
was previously called, this condition will only be applied if theFunction.apply(Object)
returns null for the matchedInstrumentationScopeInfo
(s).
-
build
public SdkMeterProvider build()
Returns anSdkMeterProvider
built with the configuration of this builder.
-
-