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 classSdkMeterProvider.LeasedMetricProducerHelper class to expose registered metric exports.private static classSdkMeterProvider.SdkCollectionRegistration
-
Field Summary
Fields Modifier and Type Field Description (package private) static java.lang.StringDEFAULT_METER_NAMEprivate java.util.concurrent.atomic.AtomicBooleanisClosedprivate static java.util.logging.LoggerLOGGERprivate ScopeConfigurator<MeterConfig>meterConfiguratorprivate java.util.List<MetricProducer>metricProducersprivate java.util.List<RegisteredReader>registeredReadersprivate java.util.List<RegisteredView>registeredViewsprivate ComponentRegistry<SdkMeter>registryprivate MeterProviderSharedStatesharedState
-
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 SdkMeterProviderBuilderbuilder()Returns a newSdkMeterProviderBuilderforSdkMeterProvider.voidclose()Close the meter provider.CompletableResultCodeforceFlush()CallMetricReader.forceFlush()on all metric readers associated with this provider.private MeterConfiggetMeterConfig(InstrumentationScopeInfo instrumentationScopeInfo)MeterBuildermeterBuilder(java.lang.String instrumentationScopeName)Creates a MeterBuilder for a named Meter instance.(package private) voidresetForTest()Reset the provider, clearing all registered instruments.CompletableResultCodeshutdown()Shutdown the provider.java.lang.StringtoString()-
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 newSdkMeterProviderBuilderforSdkMeterProvider.
-
getMeterConfig
private MeterConfig getMeterConfig(InstrumentationScopeInfo instrumentationScopeInfo)
-
meterBuilder
public MeterBuilder meterBuilder(java.lang.String instrumentationScopeName)
Description copied from interface:MeterProviderCreates a MeterBuilder for a named Meter instance.- Specified by:
meterBuilderin 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 resultingCompletableResultCodecompletes when all complete.
-
shutdown
public CompletableResultCode shutdown()
Shutdown the provider. CallsMetricReader.shutdown()on all metric readers associated with this provider. The resultingCompletableResultCodecompletes when all complete.
-
close
public void close()
Close the meter provider. Callsshutdown()and blocks waiting for it to complete.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-