Remove type-specific SumData (#4216)
* Remove type-specific SumData * scare
This commit is contained in:
parent
26dd896c09
commit
a6107d5590
|
@ -14,9 +14,9 @@ import io.opentelemetry.internal.testing.slf4j.SuppressLogger;
|
|||
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
|
||||
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
|
||||
import io.opentelemetry.sdk.metrics.data.DoublePointData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
import io.opentelemetry.sdk.metrics.export.MetricExporter;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSumData;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
import java.util.Arrays;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
|
@ -38,7 +38,7 @@ class OtlpJsonLoggingMetricExporterTest {
|
|||
"metric1",
|
||||
"metric1 description",
|
||||
"m",
|
||||
DoubleSumData.create(
|
||||
ImmutableSumData.create(
|
||||
true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Arrays.asList(
|
||||
|
@ -51,7 +51,7 @@ class OtlpJsonLoggingMetricExporterTest {
|
|||
"metric2",
|
||||
"metric2 description",
|
||||
"s",
|
||||
DoubleSumData.create(
|
||||
ImmutableSumData.create(
|
||||
true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Arrays.asList(
|
||||
|
|
|
@ -13,13 +13,12 @@ import io.opentelemetry.internal.testing.slf4j.SuppressLogger;
|
|||
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
|
||||
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
|
||||
import io.opentelemetry.sdk.metrics.data.DoublePointData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSummaryData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSummaryPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
import io.opentelemetry.sdk.metrics.data.ValueAtPercentile;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSumData;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.PrintStream;
|
||||
|
@ -87,7 +86,7 @@ class LoggingMetricExporterTest {
|
|||
"counterOne",
|
||||
"A simple counter",
|
||||
"one",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
@ -102,7 +101,7 @@ class LoggingMetricExporterTest {
|
|||
"observedValue",
|
||||
"an observer gauge",
|
||||
"kb",
|
||||
DoubleSumData.create(
|
||||
ImmutableSumData.create(
|
||||
true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
|
|
@ -33,8 +33,8 @@ import io.opentelemetry.sdk.common.CompletableResultCode;
|
|||
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
|
||||
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
|
||||
import io.opentelemetry.sdk.metrics.data.LongPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSumData;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
|
@ -329,7 +329,7 @@ class OtlpHttpMetricExporterTest {
|
|||
"name",
|
||||
"description",
|
||||
"1",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
|
|
@ -45,7 +45,6 @@ import io.opentelemetry.sdk.metrics.data.DoubleExemplarData;
|
|||
import io.opentelemetry.sdk.metrics.data.DoubleHistogramData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleHistogramPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoublePointData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSummaryData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSummaryPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.ExponentialHistogramBuckets;
|
||||
|
@ -53,11 +52,11 @@ import io.opentelemetry.sdk.metrics.data.ExponentialHistogramData;
|
|||
import io.opentelemetry.sdk.metrics.data.ExponentialHistogramPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongExemplarData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
import io.opentelemetry.sdk.metrics.data.PointData;
|
||||
import io.opentelemetry.sdk.metrics.data.ValueAtPercentile;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableGaugeData;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSumData;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
|
@ -465,7 +464,7 @@ class MetricsRequestMarshalerTest {
|
|||
"name",
|
||||
"description",
|
||||
"1",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
singletonList(LongPointData.create(123, 456, KV_ATTR, 5))))))
|
||||
|
@ -500,7 +499,7 @@ class MetricsRequestMarshalerTest {
|
|||
"name",
|
||||
"description",
|
||||
"1",
|
||||
DoubleSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
singletonList(DoublePointData.create(123, 456, KV_ATTR, 5.1))))))
|
||||
|
@ -539,7 +538,7 @@ class MetricsRequestMarshalerTest {
|
|||
"name",
|
||||
"description",
|
||||
"1",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ false,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
singletonList(LongPointData.create(123, 456, KV_ATTR, 5))))))
|
||||
|
@ -574,7 +573,7 @@ class MetricsRequestMarshalerTest {
|
|||
"name",
|
||||
"description",
|
||||
"1",
|
||||
DoubleSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ false,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
singletonList(DoublePointData.create(123, 456, KV_ATTR, 5.1))))))
|
||||
|
@ -885,7 +884,7 @@ class MetricsRequestMarshalerTest {
|
|||
"name",
|
||||
"description",
|
||||
"1",
|
||||
DoubleSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
@ -896,7 +895,7 @@ class MetricsRequestMarshalerTest {
|
|||
"name",
|
||||
"description",
|
||||
"1",
|
||||
DoubleSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
@ -907,7 +906,7 @@ class MetricsRequestMarshalerTest {
|
|||
"name",
|
||||
"description",
|
||||
"1",
|
||||
DoubleSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
@ -918,7 +917,7 @@ class MetricsRequestMarshalerTest {
|
|||
"name",
|
||||
"description",
|
||||
"1",
|
||||
DoubleSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
|
|
@ -22,8 +22,8 @@ import io.opentelemetry.proto.metrics.v1.ResourceMetrics;
|
|||
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
|
||||
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
|
||||
import io.opentelemetry.sdk.metrics.data.LongPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSumData;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
import java.time.Duration;
|
||||
import java.util.Collections;
|
||||
|
@ -116,7 +116,7 @@ class OtlpGrpcMetricExporterTest
|
|||
"name",
|
||||
"description",
|
||||
"1",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
|
|
@ -22,8 +22,8 @@ import io.opentelemetry.proto.metrics.v1.ResourceMetrics;
|
|||
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
|
||||
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
|
||||
import io.opentelemetry.sdk.metrics.data.LongPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSumData;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
import java.time.Duration;
|
||||
import java.util.Collections;
|
||||
|
@ -116,7 +116,7 @@ class OtlpGrpcNettyMetricExporterTest
|
|||
"name",
|
||||
"description",
|
||||
"1",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
|
|
@ -20,8 +20,8 @@ import io.opentelemetry.proto.metrics.v1.ResourceMetrics;
|
|||
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
|
||||
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
|
||||
import io.opentelemetry.sdk.metrics.data.LongPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSumData;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
import java.time.Duration;
|
||||
import java.util.Collections;
|
||||
|
@ -105,7 +105,7 @@ class OtlpGrpcNettyShadedMetricExporterTest
|
|||
"name",
|
||||
"description",
|
||||
"1",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
|
|
@ -20,8 +20,8 @@ import io.opentelemetry.proto.metrics.v1.ResourceMetrics;
|
|||
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
|
||||
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
|
||||
import io.opentelemetry.sdk.metrics.data.LongPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSumData;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
import java.time.Duration;
|
||||
import java.util.Collections;
|
||||
|
@ -105,7 +105,7 @@ class OtlpGrpcOkHttpMetricExporterTest
|
|||
"name",
|
||||
"description",
|
||||
"1",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
|
|
@ -13,15 +13,14 @@ import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
|
|||
import io.opentelemetry.sdk.metrics.data.DoubleExemplarData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleHistogramPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoublePointData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSummaryPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.ExemplarData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongExemplarData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricDataType;
|
||||
import io.opentelemetry.sdk.metrics.data.PointData;
|
||||
import io.opentelemetry.sdk.metrics.data.SumData;
|
||||
import io.opentelemetry.sdk.metrics.data.ValueAtPercentile;
|
||||
import io.prometheus.client.Collector;
|
||||
import io.prometheus.client.Collector.MetricFamilySamples;
|
||||
|
@ -78,14 +77,14 @@ final class MetricAdapter {
|
|||
case DOUBLE_GAUGE:
|
||||
return Collector.Type.GAUGE;
|
||||
case LONG_SUM:
|
||||
LongSumData longSumData = metricData.getLongSumData();
|
||||
SumData<LongPointData> longSumData = metricData.getLongSumData();
|
||||
if (longSumData.isMonotonic()
|
||||
&& longSumData.getAggregationTemporality() == AggregationTemporality.CUMULATIVE) {
|
||||
return Collector.Type.COUNTER;
|
||||
}
|
||||
return Collector.Type.GAUGE;
|
||||
case DOUBLE_SUM:
|
||||
DoubleSumData doubleSumData = metricData.getDoubleSumData();
|
||||
SumData<DoublePointData> doubleSumData = metricData.getDoubleSumData();
|
||||
if (doubleSumData.isMonotonic()
|
||||
&& doubleSumData.getAggregationTemporality() == AggregationTemporality.CUMULATIVE) {
|
||||
return Collector.Type.COUNTER;
|
||||
|
|
|
@ -6,9 +6,10 @@
|
|||
package io.opentelemetry.exporter.prometheus;
|
||||
|
||||
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoublePointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
import io.opentelemetry.sdk.metrics.data.SumData;
|
||||
|
||||
// Four types we use are same in prometheus and openmetrics format
|
||||
enum PrometheusType {
|
||||
|
@ -29,14 +30,14 @@ enum PrometheusType {
|
|||
case DOUBLE_GAUGE:
|
||||
return GAUGE;
|
||||
case LONG_SUM:
|
||||
LongSumData longSumData = metric.getLongSumData();
|
||||
SumData<LongPointData> longSumData = metric.getLongSumData();
|
||||
if (longSumData.isMonotonic()
|
||||
&& longSumData.getAggregationTemporality() == AggregationTemporality.CUMULATIVE) {
|
||||
return COUNTER;
|
||||
}
|
||||
return GAUGE;
|
||||
case DOUBLE_SUM:
|
||||
DoubleSumData doubleSumData = metric.getDoubleSumData();
|
||||
SumData<DoublePointData> doubleSumData = metric.getDoubleSumData();
|
||||
if (doubleSumData.isMonotonic()
|
||||
&& doubleSumData.getAggregationTemporality() == AggregationTemporality.CUMULATIVE) {
|
||||
return COUNTER;
|
||||
|
|
|
@ -18,16 +18,15 @@ import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
|
|||
import io.opentelemetry.sdk.metrics.data.DoubleHistogramData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleHistogramPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoublePointData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSummaryData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSummaryPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongExemplarData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricDataType;
|
||||
import io.opentelemetry.sdk.metrics.data.ValueAtPercentile;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableGaugeData;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSumData;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
import io.prometheus.client.Collector;
|
||||
import io.prometheus.client.Collector.MetricFamilySamples;
|
||||
|
@ -56,7 +55,7 @@ class MetricAdapterTest {
|
|||
"instrument.name",
|
||||
"description",
|
||||
"1",
|
||||
DoubleSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
@ -69,7 +68,7 @@ class MetricAdapterTest {
|
|||
"instrument.name",
|
||||
"description",
|
||||
"1",
|
||||
DoubleSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ false,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
@ -82,7 +81,7 @@ class MetricAdapterTest {
|
|||
"instrument.name",
|
||||
"description",
|
||||
"1",
|
||||
DoubleSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true,
|
||||
AggregationTemporality.DELTA,
|
||||
Collections.singletonList(
|
||||
|
@ -95,7 +94,7 @@ class MetricAdapterTest {
|
|||
"instrument.name",
|
||||
"description",
|
||||
"1",
|
||||
DoubleSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ false,
|
||||
AggregationTemporality.DELTA,
|
||||
Collections.singletonList(
|
||||
|
@ -108,7 +107,7 @@ class MetricAdapterTest {
|
|||
"instrument.name",
|
||||
"description",
|
||||
"1",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
@ -121,7 +120,7 @@ class MetricAdapterTest {
|
|||
"instrument.name",
|
||||
"description",
|
||||
"1",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ false,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
@ -134,7 +133,7 @@ class MetricAdapterTest {
|
|||
"instrument.name",
|
||||
"description",
|
||||
"1",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true,
|
||||
AggregationTemporality.DELTA,
|
||||
Collections.singletonList(
|
||||
|
@ -147,7 +146,7 @@ class MetricAdapterTest {
|
|||
"instrument.name",
|
||||
"description",
|
||||
"1",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ false,
|
||||
AggregationTemporality.DELTA,
|
||||
Collections.singletonList(
|
||||
|
|
|
@ -16,11 +16,10 @@ import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
|
|||
import io.opentelemetry.sdk.metrics.SdkMeterProvider;
|
||||
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
|
||||
import io.opentelemetry.sdk.metrics.data.DoublePointData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
import io.opentelemetry.sdk.metrics.export.MetricProducer;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSumData;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
import io.prometheus.client.CollectorRegistry;
|
||||
import io.prometheus.client.exporter.common.TextFormat;
|
||||
|
@ -83,7 +82,7 @@ class PrometheusCollectorTest {
|
|||
"grpc.name",
|
||||
"long_description",
|
||||
"1",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
@ -98,7 +97,7 @@ class PrometheusCollectorTest {
|
|||
"http.name",
|
||||
"double_description",
|
||||
"1",
|
||||
DoubleSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
|
|
@ -21,11 +21,10 @@ import io.opentelemetry.api.common.Attributes;
|
|||
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
|
||||
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
|
||||
import io.opentelemetry.sdk.metrics.data.DoublePointData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
import io.opentelemetry.sdk.metrics.export.MetricProducer;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSumData;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
import java.util.Collections;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
|
@ -176,7 +175,7 @@ class PrometheusHttpServerTest {
|
|||
"grpc.name",
|
||||
"long_description",
|
||||
"1",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
@ -187,7 +186,7 @@ class PrometheusHttpServerTest {
|
|||
"http.name",
|
||||
"double_description",
|
||||
"1",
|
||||
DoubleSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
|
|
@ -17,15 +17,14 @@ import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
|
|||
import io.opentelemetry.sdk.metrics.data.DoubleHistogramData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleHistogramPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoublePointData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSummaryData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSummaryPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongExemplarData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
import io.opentelemetry.sdk.metrics.data.ValueAtPercentile;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableGaugeData;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSumData;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
|
@ -46,7 +45,7 @@ class SerializerTest {
|
|||
"instrument.name",
|
||||
"description",
|
||||
"1",
|
||||
DoubleSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
@ -59,7 +58,7 @@ class SerializerTest {
|
|||
"instrument.name",
|
||||
"description",
|
||||
"1",
|
||||
DoubleSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ false,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
@ -72,7 +71,7 @@ class SerializerTest {
|
|||
"instrument.name",
|
||||
"description",
|
||||
"1",
|
||||
DoubleSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true,
|
||||
AggregationTemporality.DELTA,
|
||||
Collections.singletonList(
|
||||
|
@ -85,7 +84,7 @@ class SerializerTest {
|
|||
"instrument.name",
|
||||
"description",
|
||||
"1",
|
||||
DoubleSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ false,
|
||||
AggregationTemporality.DELTA,
|
||||
Collections.singletonList(
|
||||
|
@ -98,7 +97,7 @@ class SerializerTest {
|
|||
"instrument.name",
|
||||
"description",
|
||||
"1",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
@ -111,7 +110,7 @@ class SerializerTest {
|
|||
"instrument.name",
|
||||
"description",
|
||||
"1",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ false,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
@ -124,7 +123,7 @@ class SerializerTest {
|
|||
"instrument.name",
|
||||
"description",
|
||||
"1",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true,
|
||||
AggregationTemporality.DELTA,
|
||||
Collections.singletonList(
|
||||
|
@ -137,7 +136,7 @@ class SerializerTest {
|
|||
"instrument.name",
|
||||
"description",
|
||||
"1",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ false,
|
||||
AggregationTemporality.DELTA,
|
||||
Collections.singletonList(
|
||||
|
|
|
@ -26,16 +26,16 @@ import io.opentelemetry.sdk.metrics.data.DoubleExemplarData;
|
|||
import io.opentelemetry.sdk.metrics.data.DoubleHistogramData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleHistogramPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoublePointData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSummaryData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSummaryPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.ExemplarData;
|
||||
import io.opentelemetry.sdk.metrics.data.GaugeData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
import io.opentelemetry.sdk.metrics.data.SumData;
|
||||
import io.opentelemetry.sdk.metrics.data.ValueAtPercentile;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableGaugeData;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSumData;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
|
@ -145,13 +145,13 @@ public final class MetricAdapter {
|
|||
return ImmutableGaugeData.create(convertDoublePoints(censusMetric));
|
||||
}
|
||||
|
||||
static LongSumData convertLongSum(Metric censusMetric) {
|
||||
return LongSumData.create(
|
||||
static SumData<LongPointData> convertLongSum(Metric censusMetric) {
|
||||
return ImmutableSumData.create(
|
||||
true, AggregationTemporality.CUMULATIVE, convertLongPoints(censusMetric));
|
||||
}
|
||||
|
||||
static DoubleSumData convertDoubleSum(Metric censusMetric) {
|
||||
return DoubleSumData.create(
|
||||
static SumData<DoublePointData> convertDoubleSum(Metric censusMetric) {
|
||||
return ImmutableSumData.create(
|
||||
true, AggregationTemporality.CUMULATIVE, convertDoublePoints(censusMetric));
|
||||
}
|
||||
|
||||
|
|
|
@ -31,8 +31,8 @@ import io.opentelemetry.sdk.logs.data.LogData;
|
|||
import io.opentelemetry.sdk.logs.data.LogDataBuilder;
|
||||
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
|
||||
import io.opentelemetry.sdk.metrics.data.LongPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSumData;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
import io.opentelemetry.sdk.testing.trace.TestSpanData;
|
||||
import io.opentelemetry.sdk.trace.data.SpanData;
|
||||
|
@ -151,7 +151,7 @@ class OtlpGrpcServerExtension extends ServerExtension {
|
|||
"metric_name",
|
||||
"metric_description",
|
||||
"ms",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
false,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
|
|
@ -26,8 +26,8 @@ import io.opentelemetry.sdk.logs.data.LogData;
|
|||
import io.opentelemetry.sdk.logs.data.LogDataBuilder;
|
||||
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
|
||||
import io.opentelemetry.sdk.metrics.data.LongPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSumData;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
import io.opentelemetry.sdk.testing.trace.TestSpanData;
|
||||
import io.opentelemetry.sdk.trace.data.SpanData;
|
||||
|
@ -134,7 +134,7 @@ class OtlpHttpServerExtension extends ServerExtension {
|
|||
"metric_name",
|
||||
"metric_description",
|
||||
"ms",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
false,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
/*
|
||||
* Copyright The OpenTelemetry Authors
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.sdk.testing.assertj;
|
||||
|
||||
import io.opentelemetry.sdk.metrics.data.DoublePointData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSumData;
|
||||
import org.assertj.core.api.AbstractIterableAssert;
|
||||
import org.assertj.core.api.Assertions;
|
||||
|
||||
/** Test assertions for {@link DoubleSumData}. */
|
||||
public class DoubleSumDataAssert extends AbstractSumDataAssert<DoubleSumDataAssert, DoubleSumData> {
|
||||
protected DoubleSumDataAssert(DoubleSumData actual) {
|
||||
super(actual, DoubleSumDataAssert.class);
|
||||
}
|
||||
|
||||
/** Returns convenience API to assert against the {@code points} field. */
|
||||
public AbstractIterableAssert<
|
||||
?, ? extends Iterable<? extends DoublePointData>, DoublePointData, ?>
|
||||
points() {
|
||||
isNotNull();
|
||||
return Assertions.assertThat(actual.getPoints());
|
||||
}
|
||||
}
|
|
@ -1,24 +0,0 @@
|
|||
/*
|
||||
* Copyright The OpenTelemetry Authors
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.sdk.testing.assertj;
|
||||
|
||||
import io.opentelemetry.sdk.metrics.data.LongPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongSumData;
|
||||
import org.assertj.core.api.AbstractIterableAssert;
|
||||
import org.assertj.core.api.Assertions;
|
||||
|
||||
/** Test assertions for {@link LongSumData}. */
|
||||
public class LongSumDataAssert extends AbstractSumDataAssert<LongSumDataAssert, LongSumData> {
|
||||
protected LongSumDataAssert(LongSumData actual) {
|
||||
super(actual, LongSumDataAssert.class);
|
||||
}
|
||||
|
||||
public AbstractIterableAssert<?, ? extends Iterable<? extends LongPointData>, LongPointData, ?>
|
||||
points() {
|
||||
isNotNull();
|
||||
return Assertions.assertThat(actual.getPoints());
|
||||
}
|
||||
}
|
|
@ -8,7 +8,6 @@ package io.opentelemetry.sdk.testing.assertj;
|
|||
import io.opentelemetry.sdk.metrics.data.DoubleHistogramData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleHistogramPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoublePointData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSummaryData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSummaryPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.ExemplarData;
|
||||
|
@ -16,9 +15,9 @@ import io.opentelemetry.sdk.metrics.data.ExponentialHistogramBuckets;
|
|||
import io.opentelemetry.sdk.metrics.data.ExponentialHistogramPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.GaugeData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
import io.opentelemetry.sdk.metrics.data.PointData;
|
||||
import io.opentelemetry.sdk.metrics.data.SumData;
|
||||
import org.assertj.core.api.Assertions;
|
||||
|
||||
/** Test assertions for data heading to exporters within the Metrics SDK. */
|
||||
|
@ -69,9 +68,9 @@ public final class MetricAssertions extends Assertions {
|
|||
return new DoublePointDataAssert(point);
|
||||
}
|
||||
|
||||
/** Returns an assertion for {@link DoubleSumData}. */
|
||||
public static DoubleSumDataAssert assertThat(DoubleSumData point) {
|
||||
return new DoubleSumDataAssert(point);
|
||||
/** Returns an assertion for {@link SumData}. */
|
||||
public static <T extends PointData> SumDataAssert<T> assertThat(SumData<T> point) {
|
||||
return new SumDataAssert<>(point);
|
||||
}
|
||||
|
||||
/** Returns an assertion for {@link LongPointData}. */
|
||||
|
@ -79,11 +78,6 @@ public final class MetricAssertions extends Assertions {
|
|||
return new LongPointDataAssert(point);
|
||||
}
|
||||
|
||||
/** Returns an assertion for {@link LongSumData}. */
|
||||
public static LongSumDataAssert assertThat(LongSumData metric) {
|
||||
return new LongSumDataAssert(metric);
|
||||
}
|
||||
|
||||
public static ExemplarDataAssert assertThat(ExemplarData exemplar) {
|
||||
return new ExemplarDataAssert(exemplar);
|
||||
}
|
||||
|
|
|
@ -152,7 +152,7 @@ public class MetricDataAssert extends AbstractAssert<MetricDataAssert, MetricDat
|
|||
*
|
||||
* @return convenience API to assert against the {@code DoubleSum}.
|
||||
*/
|
||||
public DoubleSumDataAssert hasDoubleSum() {
|
||||
public SumDataAssert<DoublePointData> hasDoubleSum() {
|
||||
isNotNull();
|
||||
if (actual.getType() != MetricDataType.DOUBLE_SUM) {
|
||||
failWithActualExpectedAndMessage(
|
||||
|
@ -162,7 +162,7 @@ public class MetricDataAssert extends AbstractAssert<MetricDataAssert, MetricDat
|
|||
MetricDataType.DOUBLE_SUM,
|
||||
actual.getType());
|
||||
}
|
||||
return new DoubleSumDataAssert(actual.getDoubleSumData());
|
||||
return new SumDataAssert<>(actual.getDoubleSumData());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -188,7 +188,7 @@ public class MetricDataAssert extends AbstractAssert<MetricDataAssert, MetricDat
|
|||
*
|
||||
* @return convenience API to assert against the {@code LongSum}.
|
||||
*/
|
||||
public LongSumDataAssert hasLongSum() {
|
||||
public SumDataAssert<LongPointData> hasLongSum() {
|
||||
isNotNull();
|
||||
if (actual.getType() != MetricDataType.LONG_SUM) {
|
||||
failWithActualExpectedAndMessage(
|
||||
|
@ -198,7 +198,7 @@ public class MetricDataAssert extends AbstractAssert<MetricDataAssert, MetricDat
|
|||
MetricDataType.LONG_SUM,
|
||||
actual.getType());
|
||||
}
|
||||
return new LongSumDataAssert(actual.getLongSumData());
|
||||
return new SumDataAssert<>(actual.getLongSumData());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -6,19 +6,21 @@
|
|||
package io.opentelemetry.sdk.testing.assertj;
|
||||
|
||||
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
|
||||
import io.opentelemetry.sdk.metrics.data.PointData;
|
||||
import io.opentelemetry.sdk.metrics.data.SumData;
|
||||
import org.assertj.core.api.AbstractAssert;
|
||||
import org.assertj.core.api.AbstractIterableAssert;
|
||||
import org.assertj.core.api.Assertions;
|
||||
|
||||
/** Test assertions for {@link SumData}. */
|
||||
public class AbstractSumDataAssert<
|
||||
SumAssertT extends AbstractSumDataAssert<SumAssertT, SumT>, SumT extends SumData<?>>
|
||||
extends AbstractAssert<SumAssertT, SumT> {
|
||||
protected AbstractSumDataAssert(SumT actual, Class<SumAssertT> assertClass) {
|
||||
super(actual, assertClass);
|
||||
public class SumDataAssert<T extends PointData>
|
||||
extends AbstractAssert<SumDataAssert<T>, SumData<T>> {
|
||||
protected SumDataAssert(SumData<T> actual) {
|
||||
super(actual, SumDataAssert.class);
|
||||
}
|
||||
|
||||
/** Ensures that {@code is_monotonic} field is true. */
|
||||
public SumAssertT isMonotonic() {
|
||||
public SumDataAssert<T> isMonotonic() {
|
||||
isNotNull();
|
||||
if (!actual.isMonotonic()) {
|
||||
failWithActualExpectedAndMessage(
|
||||
|
@ -28,7 +30,7 @@ public class AbstractSumDataAssert<
|
|||
}
|
||||
|
||||
/** Ensures that {@code is_monotonic} field is false. */
|
||||
public SumAssertT isNotMonotonic() {
|
||||
public SumDataAssert<T> isNotMonotonic() {
|
||||
isNotNull();
|
||||
if (actual.isMonotonic()) {
|
||||
failWithActualExpectedAndMessage(
|
||||
|
@ -41,7 +43,7 @@ public class AbstractSumDataAssert<
|
|||
}
|
||||
|
||||
/** Ensures that {@code aggregation_temporality} field is {@code CUMULATIVE}. */
|
||||
public SumAssertT isCumulative() {
|
||||
public SumDataAssert<T> isCumulative() {
|
||||
isNotNull();
|
||||
if (actual.getAggregationTemporality() != AggregationTemporality.CUMULATIVE) {
|
||||
failWithActualExpectedAndMessage(
|
||||
|
@ -54,7 +56,7 @@ public class AbstractSumDataAssert<
|
|||
}
|
||||
|
||||
/** Ensures that {@code aggregation_temporality} field is {@code DELTA}. */
|
||||
public SumAssertT isDelta() {
|
||||
public SumDataAssert<T> isDelta() {
|
||||
isNotNull();
|
||||
if (actual.getAggregationTemporality() != AggregationTemporality.DELTA) {
|
||||
failWithActualExpectedAndMessage(
|
||||
|
@ -65,4 +67,10 @@ public class AbstractSumDataAssert<
|
|||
}
|
||||
return myself;
|
||||
}
|
||||
|
||||
/** Returns convenience API to assert against the {@code points} field. */
|
||||
public AbstractIterableAssert<?, ? extends Iterable<? extends T>, T, ?> points() {
|
||||
isNotNull();
|
||||
return Assertions.assertThat(actual.getPoints());
|
||||
}
|
||||
}
|
|
@ -19,16 +19,15 @@ import io.opentelemetry.sdk.metrics.data.DoubleExemplarData;
|
|||
import io.opentelemetry.sdk.metrics.data.DoubleHistogramData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleHistogramPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoublePointData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSummaryData;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSummaryPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.ExponentialHistogramData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongExemplarData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
import io.opentelemetry.sdk.metrics.data.ValueAtPercentile;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableGaugeData;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSumData;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
|
@ -116,7 +115,7 @@ public class MetricAssertionsTest {
|
|||
/* name= */ "sum",
|
||||
/* description= */ "description",
|
||||
/* unit= */ "unit",
|
||||
DoubleSumData.create(
|
||||
ImmutableSumData.create(
|
||||
true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
// Points
|
||||
|
@ -129,7 +128,7 @@ public class MetricAssertionsTest {
|
|||
/* name= */ "sum_delta",
|
||||
/* description= */ "description",
|
||||
/* unit= */ "unit",
|
||||
DoubleSumData.create(
|
||||
ImmutableSumData.create(
|
||||
false,
|
||||
AggregationTemporality.DELTA,
|
||||
// Points
|
||||
|
@ -171,7 +170,7 @@ public class MetricAssertionsTest {
|
|||
/* name= */ "sum",
|
||||
/* description= */ "description",
|
||||
/* unit= */ "unit",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
// Points
|
||||
|
@ -184,7 +183,7 @@ public class MetricAssertionsTest {
|
|||
/* name= */ "sum_delta",
|
||||
/* description= */ "description",
|
||||
/* unit= */ "unit",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
false,
|
||||
AggregationTemporality.DELTA,
|
||||
// Points
|
||||
|
|
|
@ -11,8 +11,8 @@ import io.opentelemetry.api.common.Attributes;
|
|||
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
|
||||
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
|
||||
import io.opentelemetry.sdk.metrics.data.LongPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSumData;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
@ -34,7 +34,7 @@ class InMemoryMetricExporterTest {
|
|||
"name",
|
||||
"description",
|
||||
"1",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
/*
|
||||
* Copyright The OpenTelemetry Authors
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.sdk.metrics.data;
|
||||
|
||||
import com.google.auto.value.AutoValue;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import javax.annotation.concurrent.Immutable;
|
||||
|
||||
/** {@link SumData} recorded uses {@code double}s. */
|
||||
@Immutable
|
||||
@AutoValue
|
||||
public abstract class DoubleSumData implements SumData<DoublePointData> {
|
||||
|
||||
static final DoubleSumData EMPTY =
|
||||
DoubleSumData.create(
|
||||
/* isMonotonic= */ false, AggregationTemporality.CUMULATIVE, Collections.emptyList());
|
||||
|
||||
DoubleSumData() {}
|
||||
|
||||
public static DoubleSumData create(
|
||||
boolean isMonotonic, AggregationTemporality temporality, Collection<DoublePointData> points) {
|
||||
return new AutoValue_DoubleSumData(points, isMonotonic, temporality);
|
||||
}
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
/*
|
||||
* Copyright The OpenTelemetry Authors
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.sdk.metrics.data;
|
||||
|
||||
import com.google.auto.value.AutoValue;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import javax.annotation.concurrent.Immutable;
|
||||
|
||||
/** {@link SumData} recorded uses {@code long}s. */
|
||||
@Immutable
|
||||
@AutoValue
|
||||
public abstract class LongSumData implements SumData<LongPointData> {
|
||||
|
||||
static final LongSumData EMPTY =
|
||||
LongSumData.create(
|
||||
/* isMonotonic= */ false, AggregationTemporality.CUMULATIVE, Collections.emptyList());
|
||||
|
||||
public static LongSumData create(
|
||||
boolean isMonotonic, AggregationTemporality temporality, Collection<LongPointData> points) {
|
||||
return new AutoValue_LongSumData(points, isMonotonic, temporality);
|
||||
}
|
||||
|
||||
LongSumData() {}
|
||||
}
|
|
@ -7,6 +7,7 @@ package io.opentelemetry.sdk.metrics.data;
|
|||
|
||||
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableGaugeData;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSumData;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
import javax.annotation.concurrent.Immutable;
|
||||
|
||||
|
@ -72,7 +73,7 @@ public interface MetricData {
|
|||
String name,
|
||||
String description,
|
||||
String unit,
|
||||
DoubleSumData data) {
|
||||
SumData<DoublePointData> data) {
|
||||
return MetricDataImpl.create(
|
||||
resource,
|
||||
instrumentationLibraryInfo,
|
||||
|
@ -94,7 +95,7 @@ public interface MetricData {
|
|||
String name,
|
||||
String description,
|
||||
String unit,
|
||||
LongSumData data) {
|
||||
SumData<LongPointData> data) {
|
||||
return MetricDataImpl.create(
|
||||
resource,
|
||||
instrumentationLibraryInfo,
|
||||
|
@ -262,11 +263,12 @@ public interface MetricData {
|
|||
* @return the {@code DoubleSumData} if type is {@link MetricDataType#DOUBLE_SUM}, otherwise a
|
||||
* default empty data.
|
||||
*/
|
||||
default DoubleSumData getDoubleSumData() {
|
||||
@SuppressWarnings("unchecked")
|
||||
default SumData<DoublePointData> getDoubleSumData() {
|
||||
if (getType() == MetricDataType.DOUBLE_SUM) {
|
||||
return (DoubleSumData) getData();
|
||||
return (ImmutableSumData<DoublePointData>) getData();
|
||||
}
|
||||
return DoubleSumData.EMPTY;
|
||||
return ImmutableSumData.empty();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -276,11 +278,12 @@ public interface MetricData {
|
|||
* @return the {@code LongSumData} if type is {@link MetricDataType#LONG_SUM}, otherwise a default
|
||||
* empty data.
|
||||
*/
|
||||
default LongSumData getLongSumData() {
|
||||
@SuppressWarnings("unchecked")
|
||||
default SumData<LongPointData> getLongSumData() {
|
||||
if (getType() == MetricDataType.LONG_SUM) {
|
||||
return (LongSumData) getData();
|
||||
return (SumData<LongPointData>) getData();
|
||||
}
|
||||
return LongSumData.EMPTY;
|
||||
return ImmutableSumData.empty();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -19,10 +19,10 @@ public enum MetricDataType {
|
|||
*/
|
||||
DOUBLE_GAUGE,
|
||||
|
||||
/** A sum of non negative long (int64) values. Reports {@link LongSumData} data. */
|
||||
/** A sum of non negative long (int64) values. */
|
||||
LONG_SUM,
|
||||
|
||||
/** A sum of non negative double values. Reports {@link DoubleSumData} data. */
|
||||
/** A sum of non negative double values. */
|
||||
DOUBLE_SUM,
|
||||
|
||||
/**
|
||||
|
|
|
@ -9,12 +9,12 @@ import io.opentelemetry.api.common.Attributes;
|
|||
import io.opentelemetry.context.Context;
|
||||
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
|
||||
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
|
||||
import io.opentelemetry.sdk.metrics.data.DoubleSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.ExemplarData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
import io.opentelemetry.sdk.metrics.exemplar.ExemplarReservoir;
|
||||
import io.opentelemetry.sdk.metrics.internal.concurrent.AdderUtil;
|
||||
import io.opentelemetry.sdk.metrics.internal.concurrent.DoubleAdder;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSumData;
|
||||
import io.opentelemetry.sdk.metrics.internal.descriptor.InstrumentDescriptor;
|
||||
import io.opentelemetry.sdk.metrics.internal.descriptor.MetricDescriptor;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
|
@ -85,7 +85,7 @@ public final class DoubleSumAggregator extends AbstractSumAggregator<DoubleAccum
|
|||
descriptor.getName(),
|
||||
descriptor.getDescription(),
|
||||
descriptor.getUnit(),
|
||||
DoubleSumData.create(
|
||||
ImmutableSumData.create(
|
||||
isMonotonic(),
|
||||
temporality,
|
||||
MetricDataUtils.toDoublePointList(
|
||||
|
|
|
@ -9,11 +9,11 @@ import io.opentelemetry.api.common.Attributes;
|
|||
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
|
||||
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
|
||||
import io.opentelemetry.sdk.metrics.data.ExemplarData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
import io.opentelemetry.sdk.metrics.exemplar.ExemplarReservoir;
|
||||
import io.opentelemetry.sdk.metrics.internal.concurrent.AdderUtil;
|
||||
import io.opentelemetry.sdk.metrics.internal.concurrent.LongAdder;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSumData;
|
||||
import io.opentelemetry.sdk.metrics.internal.descriptor.InstrumentDescriptor;
|
||||
import io.opentelemetry.sdk.metrics.internal.descriptor.MetricDescriptor;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
|
@ -72,7 +72,7 @@ public final class LongSumAggregator extends AbstractSumAggregator<LongAccumulat
|
|||
descriptor.getName(),
|
||||
descriptor.getDescription(),
|
||||
descriptor.getUnit(),
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
isMonotonic(),
|
||||
temporality,
|
||||
MetricDataUtils.toLongPointList(
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* Copyright The OpenTelemetry Authors
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.sdk.metrics.internal.data;
|
||||
|
||||
import com.google.auto.value.AutoValue;
|
||||
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
|
||||
import io.opentelemetry.sdk.metrics.data.DoublePointData;
|
||||
import io.opentelemetry.sdk.metrics.data.PointData;
|
||||
import io.opentelemetry.sdk.metrics.data.SumData;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import javax.annotation.concurrent.Immutable;
|
||||
|
||||
/**
|
||||
* {@link SumData} recorded uses {@code double}s.
|
||||
*
|
||||
* <p>This class is internal and is hence not for public use. Its APIs are unstable and can change
|
||||
* at any time.
|
||||
*/
|
||||
@Immutable
|
||||
@AutoValue
|
||||
public abstract class ImmutableSumData<T extends PointData> implements SumData<T> {
|
||||
|
||||
static final ImmutableSumData<DoublePointData> EMPTY =
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ false, AggregationTemporality.CUMULATIVE, Collections.emptyList());
|
||||
|
||||
// Type doesn't matter for an empty list.
|
||||
@SuppressWarnings("unchecked")
|
||||
public static <T extends PointData> ImmutableSumData<T> empty() {
|
||||
return (ImmutableSumData<T>) EMPTY;
|
||||
}
|
||||
|
||||
public static <T extends PointData> ImmutableSumData<T> create(
|
||||
boolean isMonotonic, AggregationTemporality temporality, Collection<T> points) {
|
||||
return new AutoValue_ImmutableSumData<>(points, isMonotonic, temporality);
|
||||
}
|
||||
|
||||
ImmutableSumData() {}
|
||||
}
|
|
@ -13,6 +13,7 @@ import io.opentelemetry.api.common.AttributeKey;
|
|||
import io.opentelemetry.api.common.Attributes;
|
||||
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableGaugeData;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSumData;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
|
@ -98,7 +99,7 @@ class MetricDataImplTest {
|
|||
"metric_name",
|
||||
"metric_description",
|
||||
"ms",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ false,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(LONG_POINT)));
|
||||
|
@ -130,7 +131,7 @@ class MetricDataImplTest {
|
|||
"metric_name",
|
||||
"metric_description",
|
||||
"ms",
|
||||
DoubleSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ false,
|
||||
AggregationTemporality.CUMULATIVE,
|
||||
Collections.singletonList(DOUBLE_POINT)));
|
||||
|
|
|
@ -20,8 +20,8 @@ import io.opentelemetry.sdk.common.CompletableResultCode;
|
|||
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
|
||||
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
|
||||
import io.opentelemetry.sdk.metrics.data.LongPointData;
|
||||
import io.opentelemetry.sdk.metrics.data.LongSumData;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSumData;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
import java.time.Duration;
|
||||
import java.util.ArrayList;
|
||||
|
@ -57,7 +57,7 @@ class PeriodicMetricReaderTest {
|
|||
"my metric",
|
||||
"my metric description",
|
||||
"us",
|
||||
LongSumData.create(
|
||||
ImmutableSumData.create(
|
||||
/* isMonotonic= */ true, AggregationTemporality.CUMULATIVE, LONG_POINT_LIST));
|
||||
|
||||
@Mock private MetricProducer metricProducer;
|
||||
|
|
Loading…
Reference in New Issue