Class InMemoryMetricReader
java.lang.Object
io.opentelemetry.sdk.testing.exporter.InMemoryMetricReader
- All Implemented Interfaces:
io.opentelemetry.sdk.metrics.export.AggregationTemporalitySelector,io.opentelemetry.sdk.metrics.export.DefaultAggregationSelector,io.opentelemetry.sdk.metrics.export.MetricReader,Closeable,AutoCloseable
public class InMemoryMetricReader
extends Object
implements io.opentelemetry.sdk.metrics.export.MetricReader
A
MetricReader implementation that can be used to test OpenTelemetry integration.
Can be created using InMemoryMetricReader.create()
Example usage:
public class InMemoryMetricReaderExample {
private final InMemoryMetricReader reader = InMemoryMetricReader.create();
private final SdkMeterProvider sdkMeterProvider = SdkMeterProvider.builder().registerMetricReader(reader).build();
private final Meter meter = sdkMeterProvider.get("example");
private final LongCounter metricCallCount = meter.counterBuilder("num_collects");
public void printMetrics() {
metricCallCount.add(1);
System.out.println(reader.collectAllMetrics());
}
public static void main(String[] args) {
InMemoryMetricReaderExample example = new InMemoryMetricReaderExample();
example.printMetrics();
}
}
- Since:
- 1.14.0
-
Method Summary
Modifier and TypeMethodDescriptionstatic InMemoryMetricReaderBuilderbuilder()Creates anInMemoryMetricReaderBuilderwith defaults.Collection<io.opentelemetry.sdk.metrics.data.MetricData>Returns all metrics accumulated since the last call.static InMemoryMetricReadercreate()Returns a newInMemoryMetricReader.static InMemoryMetricReadercreate(io.opentelemetry.sdk.metrics.export.AggregationTemporalitySelector aggregationTemporalitySelector, io.opentelemetry.sdk.metrics.export.DefaultAggregationSelector defaultAggregationSelector) Returns a newInMemoryMetricReader.static InMemoryMetricReaderCreates a newInMemoryMetricReaderthat prefers DELTA aggregation.io.opentelemetry.sdk.common.CompletableResultCodeio.opentelemetry.sdk.metrics.data.AggregationTemporalitygetAggregationTemporality(io.opentelemetry.sdk.metrics.InstrumentType instrumentType) io.opentelemetry.sdk.metrics.AggregationgetDefaultAggregation(io.opentelemetry.sdk.metrics.InstrumentType instrumentType) io.opentelemetry.sdk.common.export.MemoryModevoidregister(io.opentelemetry.sdk.metrics.export.CollectionRegistration collectionRegistration) io.opentelemetry.sdk.common.CompletableResultCodeshutdown()toString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface io.opentelemetry.sdk.metrics.export.DefaultAggregationSelector
withMethods inherited from interface io.opentelemetry.sdk.metrics.export.MetricReader
close
-
Method Details
-
builder
Creates anInMemoryMetricReaderBuilderwith defaults.- Returns:
- a builder with always-cumulative
AggregationTemporalitySelector, defaultDefaultAggregationSelectorandMemoryMode.IMMUTABLE_DATAMemoryMode - Since:
- 1.31.0
-
create
Returns a newInMemoryMetricReader. -
create
public static InMemoryMetricReader create(io.opentelemetry.sdk.metrics.export.AggregationTemporalitySelector aggregationTemporalitySelector, io.opentelemetry.sdk.metrics.export.DefaultAggregationSelector defaultAggregationSelector) Returns a newInMemoryMetricReader.- Since:
- 1.26.0
-
createDelta
Creates a newInMemoryMetricReaderthat prefers DELTA aggregation. -
collectAllMetrics
Returns all metrics accumulated since the last call. -
register
public void register(io.opentelemetry.sdk.metrics.export.CollectionRegistration collectionRegistration) - Specified by:
registerin interfaceio.opentelemetry.sdk.metrics.export.MetricReader
-
getAggregationTemporality
public io.opentelemetry.sdk.metrics.data.AggregationTemporality getAggregationTemporality(io.opentelemetry.sdk.metrics.InstrumentType instrumentType) - Specified by:
getAggregationTemporalityin interfaceio.opentelemetry.sdk.metrics.export.AggregationTemporalitySelector
-
getDefaultAggregation
public io.opentelemetry.sdk.metrics.Aggregation getDefaultAggregation(io.opentelemetry.sdk.metrics.InstrumentType instrumentType) - Specified by:
getDefaultAggregationin interfaceio.opentelemetry.sdk.metrics.export.DefaultAggregationSelector- Specified by:
getDefaultAggregationin interfaceio.opentelemetry.sdk.metrics.export.MetricReader
-
forceFlush
public io.opentelemetry.sdk.common.CompletableResultCode forceFlush()- Specified by:
forceFlushin interfaceio.opentelemetry.sdk.metrics.export.MetricReader
-
shutdown
public io.opentelemetry.sdk.common.CompletableResultCode shutdown()- Specified by:
shutdownin interfaceio.opentelemetry.sdk.metrics.export.MetricReader
-
getMemoryMode
public io.opentelemetry.sdk.common.export.MemoryMode getMemoryMode()- Specified by:
getMemoryModein interfaceio.opentelemetry.sdk.metrics.export.MetricReader
-
toString
-