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
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 TypeMethodDescriptionCollection<io.opentelemetry.sdk.metrics.data.MetricData>Returns all metrics accumulated since the last call.static InMemoryMetricReadercreate()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) voidregister(io.opentelemetry.sdk.metrics.export.CollectionRegistration registration) 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
getDefaultAggregation
-
Method Details
-
create
Returns a newInMemoryMetricReader. -
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 registration) - 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
-
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
-
toString
-