Package io.opentelemetry.sdk.metrics
Class SdkMeterProvider
- java.lang.Object
-
- io.opentelemetry.sdk.metrics.SdkMeterProvider
-
- All Implemented Interfaces:
MeterProvider
,java.io.Closeable
,java.lang.AutoCloseable
public final class SdkMeterProvider extends java.lang.Object implements MeterProvider, java.io.Closeable
SDK implementation forMeterProvider
.- Since:
- 1.14.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
SdkMeterProvider.LeasedMetricProducer
Helper class to expose registered metric exports.private static class
SdkMeterProvider.SdkCollectionRegistration
-
Field Summary
Fields Modifier and Type Field Description (package private) static java.lang.String
DEFAULT_METER_NAME
private java.util.concurrent.atomic.AtomicBoolean
isClosed
private static java.util.logging.Logger
LOGGER
private ScopeConfigurator<MeterConfig>
meterConfigurator
private java.util.List<MetricProducer>
metricProducers
private java.util.List<RegisteredReader>
registeredReaders
private java.util.List<RegisteredView>
registeredViews
private ComponentRegistry<SdkMeter>
registry
private MeterProviderSharedState
sharedState
-
Constructor Summary
Constructors Constructor Description SdkMeterProvider(java.util.List<RegisteredView> registeredViews, java.util.IdentityHashMap<MetricReader,CardinalityLimitSelector> metricReaders, java.util.List<MetricProducer> metricProducers, Clock clock, Resource resource, ExemplarFilter exemplarFilter, ScopeConfigurator<MeterConfig> meterConfigurator)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SdkMeterProviderBuilder
builder()
Returns a newSdkMeterProviderBuilder
forSdkMeterProvider
.void
close()
Close the meter provider.CompletableResultCode
forceFlush()
CallMetricReader.forceFlush()
on all metric readers associated with this provider.private MeterConfig
getMeterConfig(InstrumentationScopeInfo instrumentationScopeInfo)
MeterBuilder
meterBuilder(java.lang.String instrumentationScopeName)
Creates a MeterBuilder for a named Meter instance.(package private) void
resetForTest()
Reset the provider, clearing all registered instruments.CompletableResultCode
shutdown()
Shutdown the provider.java.lang.String
toString()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface io.opentelemetry.api.metrics.MeterProvider
get
-
-
-
-
Field Detail
-
LOGGER
private static final java.util.logging.Logger LOGGER
-
DEFAULT_METER_NAME
static final java.lang.String DEFAULT_METER_NAME
- See Also:
- Constant Field Values
-
registeredViews
private final java.util.List<RegisteredView> registeredViews
-
registeredReaders
private final java.util.List<RegisteredReader> registeredReaders
-
metricProducers
private final java.util.List<MetricProducer> metricProducers
-
sharedState
private final MeterProviderSharedState sharedState
-
registry
private final ComponentRegistry<SdkMeter> registry
-
meterConfigurator
private final ScopeConfigurator<MeterConfig> meterConfigurator
-
isClosed
private final java.util.concurrent.atomic.AtomicBoolean isClosed
-
-
Constructor Detail
-
SdkMeterProvider
SdkMeterProvider(java.util.List<RegisteredView> registeredViews, java.util.IdentityHashMap<MetricReader,CardinalityLimitSelector> metricReaders, java.util.List<MetricProducer> metricProducers, Clock clock, Resource resource, ExemplarFilter exemplarFilter, ScopeConfigurator<MeterConfig> meterConfigurator)
-
-
Method Detail
-
builder
public static SdkMeterProviderBuilder builder()
Returns a newSdkMeterProviderBuilder
forSdkMeterProvider
.
-
getMeterConfig
private MeterConfig getMeterConfig(InstrumentationScopeInfo instrumentationScopeInfo)
-
meterBuilder
public MeterBuilder meterBuilder(java.lang.String instrumentationScopeName)
Description copied from interface:MeterProvider
Creates a MeterBuilder for a named Meter instance.- Specified by:
meterBuilder
in interfaceMeterProvider
- Parameters:
instrumentationScopeName
- A name uniquely identifying the instrumentation scope, such as the instrumentation library, package, or fully qualified class name. Must not be null.- Returns:
- a MeterBuilder instance.
-
resetForTest
void resetForTest()
Reset the provider, clearing all registered instruments.Note: not currently stable but available for experimental use via
SdkMeterProviderUtil.resetForTest(SdkMeterProvider)
.
-
forceFlush
public CompletableResultCode forceFlush()
CallMetricReader.forceFlush()
on all metric readers associated with this provider. The resultingCompletableResultCode
completes when all complete.
-
shutdown
public CompletableResultCode shutdown()
Shutdown the provider. CallsMetricReader.shutdown()
on all metric readers associated with this provider. The resultingCompletableResultCode
completes when all complete.
-
close
public void close()
Close the meter provider. Callsshutdown()
and blocks waiting for it to complete.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-