Class SdkMeterProviderBuilder
- java.lang.Object
-
- io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder
-
public final class SdkMeterProviderBuilder extends java.lang.ObjectBuilder class for theSdkMeterProvider.- Since:
- 1.14.0
-
-
Field Summary
Fields Modifier and Type Field Description private Clockclockprivate static ExemplarFilterDEFAULT_EXEMPLAR_FILTERBy default, the exemplar filter is set to sample with traces.private ExemplarFilterexemplarFilterprivate ScopeConfiguratorBuilder<MeterConfig>meterConfiguratorBuilderprivate java.util.List<MetricProducer>metricProducersprivate java.util.IdentityHashMap<MetricReader,CardinalityLimitSelector>metricReadersprivate java.util.List<RegisteredView>registeredViewsprivate Resourceresource
-
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 aResourceto be attached to all metrics.
-
addResource
public SdkMeterProviderBuilder addResource(Resource resource)
Merge aResourcewith the current.- Parameters:
resource-Resourceto merge with current.- Since:
- 1.29.0
-
setExemplarFilter
SdkMeterProviderBuilder setExemplarFilter(ExemplarFilter filter)
Assign anExemplarFilterfor 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
viewinfluences how instruments which match theselectorare 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 aMetricReaderwith 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 computesMeterConfigfor 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 computesMeterConfigfor 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 anSdkMeterProviderbuilt with the configuration of this builder.
-
-