From 61a74154710d20bb82692c0918a57562fefbc415 Mon Sep 17 00:00:00 2001 From: Stuart McCulloch Date: Wed, 1 Apr 2026 23:31:23 +0100 Subject: [PATCH] Move OTLP protobuf classes to dd-trace-core --- .../agent-otel/otel-bootstrap/build.gradle | 4 +- .../metrics/OtelInstrumentDescriptor.java | 2 +- .../otel/metrics/data/OtelAggregator.java | 2 + .../otel/metrics/data/OtelDoubleSum.java | 2 + .../otel/metrics/data/OtelDoubleValue.java | 3 ++ .../metrics/data/OtelHistogramSketch.java | 2 + .../otel/metrics/data/OtelLongSum.java | 2 + .../otel/metrics/data/OtelLongValue.java | 3 ++ .../otel/metrics/data/OtelMetricRegistry.java | 4 +- .../otel/metrics/data/OtelMetricStorage.java | 4 +- .../otel/metrics/data/OtlpDataPoint.java | 3 -- .../common}/OtlpAttributeVisitor.java | 2 +- .../bootstrap/otlp/metrics/OtlpDataPoint.java | 3 ++ .../metrics}/OtlpDoublePoint.java | 4 +- .../metrics}/OtlpHistogramPoint.java | 4 +- .../data => otlp/metrics}/OtlpLongPoint.java | 4 +- .../metrics}/OtlpMetricVisitor.java | 5 +- .../metrics}/OtlpMetricsVisitor.java | 2 +- .../metrics}/OtlpScopedMetricsVisitor.java | 2 +- .../otel/metrics/OtlpTestDescriptors.java | 11 ---- .../otel/metrics/data/OtlpTestPoints.java | 26 ---------- .../metrics/MetricsTest.groovy | 14 +++--- dd-trace-core/build.gradle | 3 ++ .../core/otlp/common}/OtlpCommonProto.java | 3 +- .../core/otlp/common}/OtlpResourceProto.java | 12 ++--- .../otlp/metrics}/OtlpMetricsPayload.java | 2 +- .../core/otlp/metrics}/OtlpMetricsProto.java | 28 +++++------ .../metrics}/OtlpMetricsProtoCollector.java | 29 ++++++----- .../otlp/common}/OtlpCommonProtoTest.java | 20 ++++---- .../otlp/common}/OtlpResourceProtoTest.java | 2 +- .../otlp/metrics}/OtlpMetricsProtoTest.java | 50 +++++++++++++------ .../proto/common/v1/common.proto | 0 .../proto/metrics/v1/metrics.proto | 0 .../proto/resource/v1/resource.proto | 0 34 files changed, 130 insertions(+), 127 deletions(-) delete mode 100644 dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtlpDataPoint.java rename dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/{otel/common/export => otlp/common}/OtlpAttributeVisitor.java (92%) create mode 100644 dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/metrics/OtlpDataPoint.java rename dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/{otel/metrics/data => otlp/metrics}/OtlpDoublePoint.java (57%) rename dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/{otel/metrics/data => otlp/metrics}/OtlpHistogramPoint.java (88%) rename dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/{otel/metrics/data => otlp/metrics}/OtlpLongPoint.java (58%) rename dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/{otel/metrics/export => otlp/metrics}/OtlpMetricVisitor.java (69%) rename dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/{otel/metrics/export => otlp/metrics}/OtlpMetricsVisitor.java (85%) rename dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/{otel/metrics/export => otlp/metrics}/OtlpScopedMetricsVisitor.java (85%) delete mode 100644 dd-java-agent/agent-otel/otel-bootstrap/src/test/java/datadog/trace/bootstrap/otel/metrics/OtlpTestDescriptors.java delete mode 100644 dd-java-agent/agent-otel/otel-bootstrap/src/test/java/datadog/trace/bootstrap/otel/metrics/data/OtlpTestPoints.java rename {dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/common/export => dd-trace-core/src/main/java/datadog/trace/core/otlp/common}/OtlpCommonProto.java (99%) rename {dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/common/export => dd-trace-core/src/main/java/datadog/trace/core/otlp/common}/OtlpResourceProto.java (79%) rename {dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/export => dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics}/OtlpMetricsPayload.java (93%) rename {dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/export => dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics}/OtlpMetricsProto.java (80%) rename {dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/export => dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics}/OtlpMetricsProtoCollector.java (86%) rename {dd-java-agent/agent-otel/otel-bootstrap/src/test/java/datadog/trace/bootstrap/otel/common/export => dd-trace-core/src/test/java/datadog/trace/core/otlp/common}/OtlpCommonProtoTest.java (95%) rename {dd-java-agent/agent-otel/otel-bootstrap/src/test/java/datadog/trace/bootstrap/otel/common/export => dd-trace-core/src/test/java/datadog/trace/core/otlp/common}/OtlpResourceProtoTest.java (99%) rename {dd-java-agent/agent-otel/otel-bootstrap/src/test/java/datadog/trace/bootstrap/otel/metrics/export => dd-trace-core/src/test/java/datadog/trace/core/otlp/metrics}/OtlpMetricsProtoTest.java (96%) rename {dd-java-agent/agent-otel/otel-bootstrap => dd-trace-core}/src/test/resources/opentelemetry/proto/common/v1/common.proto (100%) rename {dd-java-agent/agent-otel/otel-bootstrap => dd-trace-core}/src/test/resources/opentelemetry/proto/metrics/v1/metrics.proto (100%) rename {dd-java-agent/agent-otel/otel-bootstrap => dd-trace-core}/src/test/resources/opentelemetry/proto/resource/v1/resource.proto (100%) diff --git a/dd-java-agent/agent-otel/otel-bootstrap/build.gradle b/dd-java-agent/agent-otel/otel-bootstrap/build.gradle index 2e563e22e2d..f03a7d3fa45 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/build.gradle +++ b/dd-java-agent/agent-otel/otel-bootstrap/build.gradle @@ -74,9 +74,6 @@ dependencies { implementation project(':dd-java-agent:agent-bootstrap') implementation project(':utils:logging-utils') - implementation project(':communication') - - testImplementation group: 'com.google.protobuf', name: 'protobuf-java', version: '3.14.0' } tasks.named("shadowJar", ShadowJar) { @@ -109,6 +106,7 @@ tasks.named("shadowJar", ShadowJar) { exclude 'io/opentelemetry/javaagent/bootstrap/internal/InClassLoaderMatcher*' exclude 'io/opentelemetry/javaagent/bootstrap/internal/InstrumentationConfig*' include 'datadog/trace/bootstrap/otel/**' + include 'datadog/trace/bootstrap/otlp/**' relocate 'io.opentelemetry.api', 'datadog.trace.bootstrap.otel.api' relocate 'io.opentelemetry.context', 'datadog.trace.bootstrap.otel.context' diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/OtelInstrumentDescriptor.java b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/OtelInstrumentDescriptor.java index c6b80bcf42b..9e47dd74ab7 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/OtelInstrumentDescriptor.java +++ b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/OtelInstrumentDescriptor.java @@ -13,7 +13,7 @@ public final class OtelInstrumentDescriptor { @Nullable private final UTF8BytesString description; @Nullable private final UTF8BytesString unit; - OtelInstrumentDescriptor( + public OtelInstrumentDescriptor( String instrumentName, OtelInstrumentType instrumentType, boolean longValues, diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelAggregator.java b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelAggregator.java index 1d6bc0b337e..654a0b19f69 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelAggregator.java +++ b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelAggregator.java @@ -1,5 +1,7 @@ package datadog.trace.bootstrap.otel.metrics.data; +import datadog.trace.bootstrap.otlp.metrics.OtlpDataPoint; + /** Common behaviour shared across all aggregators. */ abstract class OtelAggregator { private volatile boolean empty = true; diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelDoubleSum.java b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelDoubleSum.java index 43f8dbff720..602cdad0a87 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelDoubleSum.java +++ b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelDoubleSum.java @@ -1,5 +1,7 @@ package datadog.trace.bootstrap.otel.metrics.data; +import datadog.trace.bootstrap.otlp.metrics.OtlpDataPoint; +import datadog.trace.bootstrap.otlp.metrics.OtlpDoublePoint; import java.util.concurrent.atomic.DoubleAdder; final class OtelDoubleSum extends OtelAggregator { diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelDoubleValue.java b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelDoubleValue.java index 3bee28317e3..509516b62db 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelDoubleValue.java +++ b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelDoubleValue.java @@ -1,5 +1,8 @@ package datadog.trace.bootstrap.otel.metrics.data; +import datadog.trace.bootstrap.otlp.metrics.OtlpDataPoint; +import datadog.trace.bootstrap.otlp.metrics.OtlpDoublePoint; + final class OtelDoubleValue extends OtelAggregator { private volatile double value; diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelHistogramSketch.java b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelHistogramSketch.java index 27e3fadaac7..b322d3f75e5 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelHistogramSketch.java +++ b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelHistogramSketch.java @@ -2,6 +2,8 @@ import datadog.metrics.api.Histogram; import datadog.metrics.api.HistogramWithSum; +import datadog.trace.bootstrap.otlp.metrics.OtlpDataPoint; +import datadog.trace.bootstrap.otlp.metrics.OtlpHistogramPoint; import java.util.List; final class OtelHistogramSketch extends OtelAggregator { diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelLongSum.java b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelLongSum.java index 189d9634e6b..d4693954ba4 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelLongSum.java +++ b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelLongSum.java @@ -1,5 +1,7 @@ package datadog.trace.bootstrap.otel.metrics.data; +import datadog.trace.bootstrap.otlp.metrics.OtlpDataPoint; +import datadog.trace.bootstrap.otlp.metrics.OtlpLongPoint; import java.util.concurrent.atomic.LongAdder; final class OtelLongSum extends OtelAggregator { diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelLongValue.java b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelLongValue.java index 2ea4d001e50..790ce640364 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelLongValue.java +++ b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelLongValue.java @@ -1,5 +1,8 @@ package datadog.trace.bootstrap.otel.metrics.data; +import datadog.trace.bootstrap.otlp.metrics.OtlpDataPoint; +import datadog.trace.bootstrap.otlp.metrics.OtlpLongPoint; + final class OtelLongValue extends OtelAggregator { private volatile long value; diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelMetricRegistry.java b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelMetricRegistry.java index f0caf503da1..18c4e379e96 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelMetricRegistry.java +++ b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelMetricRegistry.java @@ -2,8 +2,8 @@ import datadog.trace.bootstrap.otel.common.OtelInstrumentationScope; import datadog.trace.bootstrap.otel.metrics.OtelInstrumentDescriptor; -import datadog.trace.bootstrap.otel.metrics.export.OtlpMetricsVisitor; -import datadog.trace.bootstrap.otel.metrics.export.OtlpScopedMetricsVisitor; +import datadog.trace.bootstrap.otlp.metrics.OtlpMetricsVisitor; +import datadog.trace.bootstrap.otlp.metrics.OtlpScopedMetricsVisitor; import java.util.ArrayList; import java.util.List; import java.util.Map; diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelMetricStorage.java b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelMetricStorage.java index a2d26eb9495..d834bab9bda 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelMetricStorage.java +++ b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtelMetricStorage.java @@ -4,10 +4,10 @@ import datadog.trace.api.Config; import datadog.trace.api.config.OtlpConfig; import datadog.trace.bootstrap.instrumentation.api.UTF8BytesString; -import datadog.trace.bootstrap.otel.common.export.OtlpAttributeVisitor; import datadog.trace.bootstrap.otel.metrics.OtelInstrumentDescriptor; import datadog.trace.bootstrap.otel.metrics.OtelInstrumentType; -import datadog.trace.bootstrap.otel.metrics.export.OtlpMetricVisitor; +import datadog.trace.bootstrap.otlp.common.OtlpAttributeVisitor; +import datadog.trace.bootstrap.otlp.metrics.OtlpMetricVisitor; import io.opentelemetry.api.common.Attributes; import java.util.List; import java.util.Map; diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtlpDataPoint.java b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtlpDataPoint.java deleted file mode 100644 index e8d57926335..00000000000 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtlpDataPoint.java +++ /dev/null @@ -1,3 +0,0 @@ -package datadog.trace.bootstrap.otel.metrics.data; - -public abstract class OtlpDataPoint {} diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/common/export/OtlpAttributeVisitor.java b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/common/OtlpAttributeVisitor.java similarity index 92% rename from dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/common/export/OtlpAttributeVisitor.java rename to dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/common/OtlpAttributeVisitor.java index 4138073b403..c1984784f20 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/common/export/OtlpAttributeVisitor.java +++ b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/common/OtlpAttributeVisitor.java @@ -1,4 +1,4 @@ -package datadog.trace.bootstrap.otel.common.export; +package datadog.trace.bootstrap.otlp.common; /** A visitor to visit OpenTelemetry attributes. */ public interface OtlpAttributeVisitor { diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/metrics/OtlpDataPoint.java b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/metrics/OtlpDataPoint.java new file mode 100644 index 00000000000..4322ff673c6 --- /dev/null +++ b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/metrics/OtlpDataPoint.java @@ -0,0 +1,3 @@ +package datadog.trace.bootstrap.otlp.metrics; + +public abstract class OtlpDataPoint {} diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtlpDoublePoint.java b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/metrics/OtlpDoublePoint.java similarity index 57% rename from dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtlpDoublePoint.java rename to dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/metrics/OtlpDoublePoint.java index f5910b68a99..135ae0d4caa 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtlpDoublePoint.java +++ b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/metrics/OtlpDoublePoint.java @@ -1,9 +1,9 @@ -package datadog.trace.bootstrap.otel.metrics.data; +package datadog.trace.bootstrap.otlp.metrics; public final class OtlpDoublePoint extends OtlpDataPoint { public final double value; - OtlpDoublePoint(double value) { + public OtlpDoublePoint(double value) { this.value = value; } } diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtlpHistogramPoint.java b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/metrics/OtlpHistogramPoint.java similarity index 88% rename from dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtlpHistogramPoint.java rename to dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/metrics/OtlpHistogramPoint.java index 1ca2f70a4e9..3d6be508253 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtlpHistogramPoint.java +++ b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/metrics/OtlpHistogramPoint.java @@ -1,4 +1,4 @@ -package datadog.trace.bootstrap.otel.metrics.data; +package datadog.trace.bootstrap.otlp.metrics; import java.util.List; @@ -10,7 +10,7 @@ public final class OtlpHistogramPoint extends OtlpDataPoint { public final double min; public final double max; - OtlpHistogramPoint( + public OtlpHistogramPoint( double count, List bucketBoundaries, List bucketCounts, diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtlpLongPoint.java b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/metrics/OtlpLongPoint.java similarity index 58% rename from dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtlpLongPoint.java rename to dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/metrics/OtlpLongPoint.java index 4f5d9f9b00e..831c8949f3f 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/data/OtlpLongPoint.java +++ b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/metrics/OtlpLongPoint.java @@ -1,9 +1,9 @@ -package datadog.trace.bootstrap.otel.metrics.data; +package datadog.trace.bootstrap.otlp.metrics; public final class OtlpLongPoint extends OtlpDataPoint { public final long value; - OtlpLongPoint(long value) { + public OtlpLongPoint(long value) { this.value = value; } } diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/export/OtlpMetricVisitor.java b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/metrics/OtlpMetricVisitor.java similarity index 69% rename from dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/export/OtlpMetricVisitor.java rename to dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/metrics/OtlpMetricVisitor.java index fde3d3311d2..b7a2b2959a2 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/export/OtlpMetricVisitor.java +++ b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/metrics/OtlpMetricVisitor.java @@ -1,7 +1,6 @@ -package datadog.trace.bootstrap.otel.metrics.export; +package datadog.trace.bootstrap.otlp.metrics; -import datadog.trace.bootstrap.otel.common.export.OtlpAttributeVisitor; -import datadog.trace.bootstrap.otel.metrics.data.OtlpDataPoint; +import datadog.trace.bootstrap.otlp.common.OtlpAttributeVisitor; /** * A visitor to visit a metric in an instrumentation scope. diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/export/OtlpMetricsVisitor.java b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/metrics/OtlpMetricsVisitor.java similarity index 85% rename from dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/export/OtlpMetricsVisitor.java rename to dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/metrics/OtlpMetricsVisitor.java index 7ca6b1d0738..8653d052f0e 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/export/OtlpMetricsVisitor.java +++ b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/metrics/OtlpMetricsVisitor.java @@ -1,4 +1,4 @@ -package datadog.trace.bootstrap.otel.metrics.export; +package datadog.trace.bootstrap.otlp.metrics; import datadog.trace.bootstrap.otel.common.OtelInstrumentationScope; diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/export/OtlpScopedMetricsVisitor.java b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/metrics/OtlpScopedMetricsVisitor.java similarity index 85% rename from dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/export/OtlpScopedMetricsVisitor.java rename to dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/metrics/OtlpScopedMetricsVisitor.java index 40c720b603f..6cf8e85c0fb 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/export/OtlpScopedMetricsVisitor.java +++ b/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otlp/metrics/OtlpScopedMetricsVisitor.java @@ -1,4 +1,4 @@ -package datadog.trace.bootstrap.otel.metrics.export; +package datadog.trace.bootstrap.otlp.metrics; import datadog.trace.bootstrap.otel.metrics.OtelInstrumentDescriptor; diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/test/java/datadog/trace/bootstrap/otel/metrics/OtlpTestDescriptors.java b/dd-java-agent/agent-otel/otel-bootstrap/src/test/java/datadog/trace/bootstrap/otel/metrics/OtlpTestDescriptors.java deleted file mode 100644 index f9eee3b4260..00000000000 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/test/java/datadog/trace/bootstrap/otel/metrics/OtlpTestDescriptors.java +++ /dev/null @@ -1,11 +0,0 @@ -package datadog.trace.bootstrap.otel.metrics; - -/** Test-only factory giving tests access to the package-private descriptor constructor. */ -public final class OtlpTestDescriptors { - private OtlpTestDescriptors() {} - - public static OtelInstrumentDescriptor descriptor( - String name, OtelInstrumentType type, boolean longValues, String description, String unit) { - return new OtelInstrumentDescriptor(name, type, longValues, description, unit); - } -} diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/test/java/datadog/trace/bootstrap/otel/metrics/data/OtlpTestPoints.java b/dd-java-agent/agent-otel/otel-bootstrap/src/test/java/datadog/trace/bootstrap/otel/metrics/data/OtlpTestPoints.java deleted file mode 100644 index 96019d751e0..00000000000 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/test/java/datadog/trace/bootstrap/otel/metrics/data/OtlpTestPoints.java +++ /dev/null @@ -1,26 +0,0 @@ -package datadog.trace.bootstrap.otel.metrics.data; - -import java.util.List; - -/** Test-only factories giving tests access to the package-private data-point constructors. */ -public final class OtlpTestPoints { - private OtlpTestPoints() {} - - public static OtlpLongPoint longPoint(long value) { - return new OtlpLongPoint(value); - } - - public static OtlpDoublePoint doublePoint(double value) { - return new OtlpDoublePoint(value); - } - - public static OtlpHistogramPoint histogramPoint( - double count, - List bucketBoundaries, - List bucketCounts, - double sum, - double min, - double max) { - return new OtlpHistogramPoint(count, bucketBoundaries, bucketCounts, sum, min, max); - } -} diff --git a/dd-java-agent/instrumentation/opentelemetry/opentelemetry-1.47/src/test/groovy/opentelemetry147/metrics/MetricsTest.groovy b/dd-java-agent/instrumentation/opentelemetry/opentelemetry-1.47/src/test/groovy/opentelemetry147/metrics/MetricsTest.groovy index 886a60cfe72..ddab42b738d 100644 --- a/dd-java-agent/instrumentation/opentelemetry/opentelemetry-1.47/src/test/groovy/opentelemetry147/metrics/MetricsTest.groovy +++ b/dd-java-agent/instrumentation/opentelemetry/opentelemetry-1.47/src/test/groovy/opentelemetry147/metrics/MetricsTest.groovy @@ -6,14 +6,14 @@ import datadog.opentelemetry.shim.metrics.OtelMeterProvider import datadog.trace.agent.test.InstrumentationSpecification import datadog.trace.bootstrap.otel.common.OtelInstrumentationScope import datadog.trace.bootstrap.otel.metrics.OtelInstrumentDescriptor -import datadog.trace.bootstrap.otel.metrics.data.OtlpDoublePoint -import datadog.trace.bootstrap.otel.metrics.data.OtlpHistogramPoint -import datadog.trace.bootstrap.otel.metrics.data.OtlpLongPoint +import datadog.trace.bootstrap.otlp.metrics.OtlpDoublePoint +import datadog.trace.bootstrap.otlp.metrics.OtlpHistogramPoint +import datadog.trace.bootstrap.otlp.metrics.OtlpLongPoint import datadog.trace.bootstrap.otel.metrics.data.OtelMetricRegistry -import datadog.trace.bootstrap.otel.metrics.data.OtlpDataPoint -import datadog.trace.bootstrap.otel.metrics.export.OtlpMetricVisitor -import datadog.trace.bootstrap.otel.metrics.export.OtlpMetricsVisitor -import datadog.trace.bootstrap.otel.metrics.export.OtlpScopedMetricsVisitor +import datadog.trace.bootstrap.otlp.metrics.OtlpDataPoint +import datadog.trace.bootstrap.otlp.metrics.OtlpMetricVisitor +import datadog.trace.bootstrap.otlp.metrics.OtlpMetricsVisitor +import datadog.trace.bootstrap.otlp.metrics.OtlpScopedMetricsVisitor import io.opentelemetry.api.GlobalOpenTelemetry import io.opentelemetry.api.common.Attributes import spock.lang.Shared diff --git a/dd-trace-core/build.gradle b/dd-trace-core/build.gradle index 420a533fe67..579e1f679a2 100644 --- a/dd-trace-core/build.gradle +++ b/dd-trace-core/build.gradle @@ -75,6 +75,8 @@ dependencies { implementation project(':utils:socket-utils') implementation project(':utils:logging-utils') implementation project(':utils:queue-utils') + // for OTLP support + compileOnly project(':dd-java-agent:agent-otel:otel-bootstrap') // for span exception debugging compileOnly project(':dd-java-agent:agent-debugger:debugger-bootstrap') @@ -94,6 +96,7 @@ dependencies { testCompileOnly libs.autoservice.annotation testImplementation project(':dd-java-agent:testing') + testImplementation project(path: ':dd-java-agent:agent-otel:otel-bootstrap', configuration: 'shadow') testImplementation project(':remote-config:remote-config-core') testImplementation project(':products:metrics:metrics-lib') testImplementation group: 'org.msgpack', name: 'msgpack-core', version: '0.8.20' diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/common/export/OtlpCommonProto.java b/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpCommonProto.java similarity index 99% rename from dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/common/export/OtlpCommonProto.java rename to dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpCommonProto.java index 90adb865413..116e073a2b8 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/common/export/OtlpCommonProto.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpCommonProto.java @@ -1,4 +1,4 @@ -package datadog.trace.bootstrap.otel.common.export; +package datadog.trace.core.otlp.common; import static java.nio.charset.StandardCharsets.UTF_8; @@ -8,6 +8,7 @@ import datadog.communication.serialization.StreamingBuffer; import datadog.trace.api.Config; import datadog.trace.bootstrap.otel.common.OtelInstrumentationScope; +import datadog.trace.bootstrap.otlp.common.OtlpAttributeVisitor; import java.nio.ByteBuffer; import java.util.List; diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/common/export/OtlpResourceProto.java b/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpResourceProto.java similarity index 79% rename from dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/common/export/OtlpResourceProto.java rename to dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpResourceProto.java index 18e5b3e9feb..e93c4f30c00 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/common/export/OtlpResourceProto.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpResourceProto.java @@ -1,10 +1,10 @@ -package datadog.trace.bootstrap.otel.common.export; +package datadog.trace.core.otlp.common; -import static datadog.trace.bootstrap.otel.common.export.OtlpAttributeVisitor.STRING; -import static datadog.trace.bootstrap.otel.common.export.OtlpCommonProto.LEN_WIRE_TYPE; -import static datadog.trace.bootstrap.otel.common.export.OtlpCommonProto.recordMessage; -import static datadog.trace.bootstrap.otel.common.export.OtlpCommonProto.writeAttribute; -import static datadog.trace.bootstrap.otel.common.export.OtlpCommonProto.writeTag; +import static datadog.trace.bootstrap.otlp.common.OtlpAttributeVisitor.STRING; +import static datadog.trace.core.otlp.common.OtlpCommonProto.LEN_WIRE_TYPE; +import static datadog.trace.core.otlp.common.OtlpCommonProto.recordMessage; +import static datadog.trace.core.otlp.common.OtlpCommonProto.writeAttribute; +import static datadog.trace.core.otlp.common.OtlpCommonProto.writeTag; import datadog.communication.serialization.GrowableBuffer; import datadog.communication.serialization.StreamingBuffer; diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/export/OtlpMetricsPayload.java b/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsPayload.java similarity index 93% rename from dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/export/OtlpMetricsPayload.java rename to dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsPayload.java index 8d9a4395fa0..17cb425293a 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/export/OtlpMetricsPayload.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsPayload.java @@ -1,4 +1,4 @@ -package datadog.trace.bootstrap.otel.metrics.export; +package datadog.trace.core.otlp.metrics; import java.util.ArrayDeque; import java.util.Deque; diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/export/OtlpMetricsProto.java b/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsProto.java similarity index 80% rename from dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/export/OtlpMetricsProto.java rename to dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsProto.java index 63bb056f0a6..5dc1b4371ba 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/export/OtlpMetricsProto.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsProto.java @@ -1,24 +1,24 @@ -package datadog.trace.bootstrap.otel.metrics.export; +package datadog.trace.core.otlp.metrics; import static datadog.trace.api.config.OtlpConfig.Temporality.CUMULATIVE; -import static datadog.trace.bootstrap.otel.common.export.OtlpCommonProto.I64_WIRE_TYPE; -import static datadog.trace.bootstrap.otel.common.export.OtlpCommonProto.LEN_WIRE_TYPE; -import static datadog.trace.bootstrap.otel.common.export.OtlpCommonProto.VARINT_WIRE_TYPE; -import static datadog.trace.bootstrap.otel.common.export.OtlpCommonProto.recordMessage; -import static datadog.trace.bootstrap.otel.common.export.OtlpCommonProto.writeI64; -import static datadog.trace.bootstrap.otel.common.export.OtlpCommonProto.writeInstrumentationScope; -import static datadog.trace.bootstrap.otel.common.export.OtlpCommonProto.writeString; -import static datadog.trace.bootstrap.otel.common.export.OtlpCommonProto.writeTag; -import static datadog.trace.bootstrap.otel.common.export.OtlpCommonProto.writeVarInt; +import static datadog.trace.core.otlp.common.OtlpCommonProto.I64_WIRE_TYPE; +import static datadog.trace.core.otlp.common.OtlpCommonProto.LEN_WIRE_TYPE; +import static datadog.trace.core.otlp.common.OtlpCommonProto.VARINT_WIRE_TYPE; +import static datadog.trace.core.otlp.common.OtlpCommonProto.recordMessage; +import static datadog.trace.core.otlp.common.OtlpCommonProto.writeI64; +import static datadog.trace.core.otlp.common.OtlpCommonProto.writeInstrumentationScope; +import static datadog.trace.core.otlp.common.OtlpCommonProto.writeString; +import static datadog.trace.core.otlp.common.OtlpCommonProto.writeTag; +import static datadog.trace.core.otlp.common.OtlpCommonProto.writeVarInt; import datadog.communication.serialization.GrowableBuffer; import datadog.trace.api.Config; import datadog.trace.bootstrap.otel.common.OtelInstrumentationScope; import datadog.trace.bootstrap.otel.metrics.OtelInstrumentDescriptor; -import datadog.trace.bootstrap.otel.metrics.data.OtlpDataPoint; -import datadog.trace.bootstrap.otel.metrics.data.OtlpDoublePoint; -import datadog.trace.bootstrap.otel.metrics.data.OtlpHistogramPoint; -import datadog.trace.bootstrap.otel.metrics.data.OtlpLongPoint; +import datadog.trace.bootstrap.otlp.metrics.OtlpDataPoint; +import datadog.trace.bootstrap.otlp.metrics.OtlpDoublePoint; +import datadog.trace.bootstrap.otlp.metrics.OtlpHistogramPoint; +import datadog.trace.bootstrap.otlp.metrics.OtlpLongPoint; /** Provides optimized writers for OpenTelemetry's "metrics.proto" wire protocol. */ public final class OtlpMetricsProto { diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/export/OtlpMetricsProtoCollector.java b/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsProtoCollector.java similarity index 86% rename from dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/export/OtlpMetricsProtoCollector.java rename to dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsProtoCollector.java index 0ec6eedd548..c66db0079b2 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/main/java/datadog/trace/bootstrap/otel/metrics/export/OtlpMetricsProtoCollector.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsProtoCollector.java @@ -1,18 +1,18 @@ -package datadog.trace.bootstrap.otel.metrics.export; - -import static datadog.trace.bootstrap.otel.common.export.OtlpCommonProto.I64_WIRE_TYPE; -import static datadog.trace.bootstrap.otel.common.export.OtlpCommonProto.LEN_WIRE_TYPE; -import static datadog.trace.bootstrap.otel.common.export.OtlpCommonProto.recordMessage; -import static datadog.trace.bootstrap.otel.common.export.OtlpCommonProto.writeAttribute; -import static datadog.trace.bootstrap.otel.common.export.OtlpCommonProto.writeI64; -import static datadog.trace.bootstrap.otel.common.export.OtlpCommonProto.writeTag; -import static datadog.trace.bootstrap.otel.common.export.OtlpResourceProto.RESOURCE_MESSAGE; +package datadog.trace.core.otlp.metrics; + import static datadog.trace.bootstrap.otel.metrics.OtelInstrumentType.GAUGE; import static datadog.trace.bootstrap.otel.metrics.OtelInstrumentType.HISTOGRAM; import static datadog.trace.bootstrap.otel.metrics.OtelInstrumentType.OBSERVABLE_GAUGE; -import static datadog.trace.bootstrap.otel.metrics.export.OtlpMetricsProto.recordDataPointMessage; -import static datadog.trace.bootstrap.otel.metrics.export.OtlpMetricsProto.recordMetricMessage; -import static datadog.trace.bootstrap.otel.metrics.export.OtlpMetricsProto.recordScopedMetricsMessage; +import static datadog.trace.core.otlp.common.OtlpCommonProto.I64_WIRE_TYPE; +import static datadog.trace.core.otlp.common.OtlpCommonProto.LEN_WIRE_TYPE; +import static datadog.trace.core.otlp.common.OtlpCommonProto.recordMessage; +import static datadog.trace.core.otlp.common.OtlpCommonProto.writeAttribute; +import static datadog.trace.core.otlp.common.OtlpCommonProto.writeI64; +import static datadog.trace.core.otlp.common.OtlpCommonProto.writeTag; +import static datadog.trace.core.otlp.common.OtlpResourceProto.RESOURCE_MESSAGE; +import static datadog.trace.core.otlp.metrics.OtlpMetricsProto.recordDataPointMessage; +import static datadog.trace.core.otlp.metrics.OtlpMetricsProto.recordMetricMessage; +import static datadog.trace.core.otlp.metrics.OtlpMetricsProto.recordScopedMetricsMessage; import datadog.communication.serialization.GrowableBuffer; import datadog.trace.api.time.SystemTimeSource; @@ -21,7 +21,10 @@ import datadog.trace.bootstrap.otel.metrics.OtelInstrumentDescriptor; import datadog.trace.bootstrap.otel.metrics.OtelInstrumentType; import datadog.trace.bootstrap.otel.metrics.data.OtelMetricRegistry; -import datadog.trace.bootstrap.otel.metrics.data.OtlpDataPoint; +import datadog.trace.bootstrap.otlp.metrics.OtlpDataPoint; +import datadog.trace.bootstrap.otlp.metrics.OtlpMetricVisitor; +import datadog.trace.bootstrap.otlp.metrics.OtlpMetricsVisitor; +import datadog.trace.bootstrap.otlp.metrics.OtlpScopedMetricsVisitor; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Deque; diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/test/java/datadog/trace/bootstrap/otel/common/export/OtlpCommonProtoTest.java b/dd-trace-core/src/test/java/datadog/trace/core/otlp/common/OtlpCommonProtoTest.java similarity index 95% rename from dd-java-agent/agent-otel/otel-bootstrap/src/test/java/datadog/trace/bootstrap/otel/common/export/OtlpCommonProtoTest.java rename to dd-trace-core/src/test/java/datadog/trace/core/otlp/common/OtlpCommonProtoTest.java index fb022b1aeb7..071aafb7a29 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/test/java/datadog/trace/bootstrap/otel/common/export/OtlpCommonProtoTest.java +++ b/dd-trace-core/src/test/java/datadog/trace/core/otlp/common/OtlpCommonProtoTest.java @@ -1,13 +1,13 @@ -package datadog.trace.bootstrap.otel.common.export; - -import static datadog.trace.bootstrap.otel.common.export.OtlpAttributeVisitor.BOOLEAN; -import static datadog.trace.bootstrap.otel.common.export.OtlpAttributeVisitor.BOOLEAN_ARRAY; -import static datadog.trace.bootstrap.otel.common.export.OtlpAttributeVisitor.DOUBLE; -import static datadog.trace.bootstrap.otel.common.export.OtlpAttributeVisitor.DOUBLE_ARRAY; -import static datadog.trace.bootstrap.otel.common.export.OtlpAttributeVisitor.LONG; -import static datadog.trace.bootstrap.otel.common.export.OtlpAttributeVisitor.LONG_ARRAY; -import static datadog.trace.bootstrap.otel.common.export.OtlpAttributeVisitor.STRING; -import static datadog.trace.bootstrap.otel.common.export.OtlpAttributeVisitor.STRING_ARRAY; +package datadog.trace.core.otlp.common; + +import static datadog.trace.bootstrap.otlp.common.OtlpAttributeVisitor.BOOLEAN; +import static datadog.trace.bootstrap.otlp.common.OtlpAttributeVisitor.BOOLEAN_ARRAY; +import static datadog.trace.bootstrap.otlp.common.OtlpAttributeVisitor.DOUBLE; +import static datadog.trace.bootstrap.otlp.common.OtlpAttributeVisitor.DOUBLE_ARRAY; +import static datadog.trace.bootstrap.otlp.common.OtlpAttributeVisitor.LONG; +import static datadog.trace.bootstrap.otlp.common.OtlpAttributeVisitor.LONG_ARRAY; +import static datadog.trace.bootstrap.otlp.common.OtlpAttributeVisitor.STRING; +import static datadog.trace.bootstrap.otlp.common.OtlpAttributeVisitor.STRING_ARRAY; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/test/java/datadog/trace/bootstrap/otel/common/export/OtlpResourceProtoTest.java b/dd-trace-core/src/test/java/datadog/trace/core/otlp/common/OtlpResourceProtoTest.java similarity index 99% rename from dd-java-agent/agent-otel/otel-bootstrap/src/test/java/datadog/trace/bootstrap/otel/common/export/OtlpResourceProtoTest.java rename to dd-trace-core/src/test/java/datadog/trace/core/otlp/common/OtlpResourceProtoTest.java index c097caa2876..2d95f711d3f 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/test/java/datadog/trace/bootstrap/otel/common/export/OtlpResourceProtoTest.java +++ b/dd-trace-core/src/test/java/datadog/trace/core/otlp/common/OtlpResourceProtoTest.java @@ -1,4 +1,4 @@ -package datadog.trace.bootstrap.otel.common.export; +package datadog.trace.core.otlp.common; import static datadog.trace.api.config.GeneralConfig.ENV; import static datadog.trace.api.config.GeneralConfig.SERVICE_NAME; diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/test/java/datadog/trace/bootstrap/otel/metrics/export/OtlpMetricsProtoTest.java b/dd-trace-core/src/test/java/datadog/trace/core/otlp/metrics/OtlpMetricsProtoTest.java similarity index 96% rename from dd-java-agent/agent-otel/otel-bootstrap/src/test/java/datadog/trace/bootstrap/otel/metrics/export/OtlpMetricsProtoTest.java rename to dd-trace-core/src/test/java/datadog/trace/core/otlp/metrics/OtlpMetricsProtoTest.java index 45d941cdb03..9954edb27f5 100644 --- a/dd-java-agent/agent-otel/otel-bootstrap/src/test/java/datadog/trace/bootstrap/otel/metrics/export/OtlpMetricsProtoTest.java +++ b/dd-trace-core/src/test/java/datadog/trace/core/otlp/metrics/OtlpMetricsProtoTest.java @@ -1,13 +1,9 @@ -package datadog.trace.bootstrap.otel.metrics.export; - -import static datadog.trace.bootstrap.otel.common.export.OtlpAttributeVisitor.BOOLEAN; -import static datadog.trace.bootstrap.otel.common.export.OtlpAttributeVisitor.DOUBLE; -import static datadog.trace.bootstrap.otel.common.export.OtlpAttributeVisitor.LONG; -import static datadog.trace.bootstrap.otel.common.export.OtlpAttributeVisitor.STRING; -import static datadog.trace.bootstrap.otel.metrics.OtlpTestDescriptors.descriptor; -import static datadog.trace.bootstrap.otel.metrics.data.OtlpTestPoints.doublePoint; -import static datadog.trace.bootstrap.otel.metrics.data.OtlpTestPoints.histogramPoint; -import static datadog.trace.bootstrap.otel.metrics.data.OtlpTestPoints.longPoint; +package datadog.trace.core.otlp.metrics; + +import static datadog.trace.bootstrap.otlp.common.OtlpAttributeVisitor.BOOLEAN; +import static datadog.trace.bootstrap.otlp.common.OtlpAttributeVisitor.DOUBLE; +import static datadog.trace.bootstrap.otlp.common.OtlpAttributeVisitor.LONG; +import static datadog.trace.bootstrap.otlp.common.OtlpAttributeVisitor.STRING; import static java.util.Arrays.asList; import static java.util.Collections.emptyList; import static java.util.stream.Collectors.toList; @@ -19,11 +15,14 @@ import com.google.protobuf.WireFormat; import datadog.trace.api.time.ControllableTimeSource; import datadog.trace.bootstrap.otel.common.OtelInstrumentationScope; +import datadog.trace.bootstrap.otel.metrics.OtelInstrumentDescriptor; import datadog.trace.bootstrap.otel.metrics.OtelInstrumentType; -import datadog.trace.bootstrap.otel.metrics.data.OtlpDataPoint; -import datadog.trace.bootstrap.otel.metrics.data.OtlpDoublePoint; -import datadog.trace.bootstrap.otel.metrics.data.OtlpHistogramPoint; -import datadog.trace.bootstrap.otel.metrics.data.OtlpLongPoint; +import datadog.trace.bootstrap.otlp.metrics.OtlpDataPoint; +import datadog.trace.bootstrap.otlp.metrics.OtlpDoublePoint; +import datadog.trace.bootstrap.otlp.metrics.OtlpHistogramPoint; +import datadog.trace.bootstrap.otlp.metrics.OtlpLongPoint; +import datadog.trace.bootstrap.otlp.metrics.OtlpMetricVisitor; +import datadog.trace.bootstrap.otlp.metrics.OtlpScopedMetricsVisitor; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.ArrayList; @@ -1035,4 +1034,27 @@ private static String readKeyValueKey(CodedInputStream kv) throws IOException { } return key; } + + static OtelInstrumentDescriptor descriptor( + String name, OtelInstrumentType type, boolean longValues, String description, String unit) { + return new OtelInstrumentDescriptor(name, type, longValues, description, unit); + } + + static OtlpLongPoint longPoint(long value) { + return new OtlpLongPoint(value); + } + + static OtlpDoublePoint doublePoint(double value) { + return new OtlpDoublePoint(value); + } + + static OtlpHistogramPoint histogramPoint( + double count, + List bucketBoundaries, + List bucketCounts, + double sum, + double min, + double max) { + return new OtlpHistogramPoint(count, bucketBoundaries, bucketCounts, sum, min, max); + } } diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/test/resources/opentelemetry/proto/common/v1/common.proto b/dd-trace-core/src/test/resources/opentelemetry/proto/common/v1/common.proto similarity index 100% rename from dd-java-agent/agent-otel/otel-bootstrap/src/test/resources/opentelemetry/proto/common/v1/common.proto rename to dd-trace-core/src/test/resources/opentelemetry/proto/common/v1/common.proto diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/test/resources/opentelemetry/proto/metrics/v1/metrics.proto b/dd-trace-core/src/test/resources/opentelemetry/proto/metrics/v1/metrics.proto similarity index 100% rename from dd-java-agent/agent-otel/otel-bootstrap/src/test/resources/opentelemetry/proto/metrics/v1/metrics.proto rename to dd-trace-core/src/test/resources/opentelemetry/proto/metrics/v1/metrics.proto diff --git a/dd-java-agent/agent-otel/otel-bootstrap/src/test/resources/opentelemetry/proto/resource/v1/resource.proto b/dd-trace-core/src/test/resources/opentelemetry/proto/resource/v1/resource.proto similarity index 100% rename from dd-java-agent/agent-otel/otel-bootstrap/src/test/resources/opentelemetry/proto/resource/v1/resource.proto rename to dd-trace-core/src/test/resources/opentelemetry/proto/resource/v1/resource.proto