From 73a869564d04fbc0b9ca1a6891eb46af42ac8e26 Mon Sep 17 00:00:00 2001 From: Jaroslav Bachorik Date: Thu, 15 Oct 2026 00:11:22 +0200 Subject: [PATCH] refactor: Move OtlpPayload and OTLP request bodies to communication/otlp-exporter Content-identical file moves (package statement only): OtlpPayload, OtlpHttpRequestBody, OtlpGrpcRequestBody and their tests move into a new standalone communication/otlp-exporter module so the profiler can reuse the OTLP transport code without depending on dd-trace-core. No logic changes. Mechanical import updates in dd-trace-core. --- .github/CODEOWNERS | 1 + communication/otlp-exporter/build.gradle.kts | 25 +++++++++++++++++++ .../otlp}/OtlpGrpcRequestBody.java | 2 +- .../otlp}/OtlpHttpRequestBody.java | 2 +- .../communication/otlp}/OtlpPayload.java | 2 +- .../otlp}/OtlpGrpcRequestBodyTest.java | 2 +- .../otlp}/OtlpHttpRequestBodyTest.java | 2 +- dd-java-agent/build.gradle | 5 ++++ dd-trace-core/build.gradle | 1 + .../common/writer/OtlpPayloadDispatcher.java | 2 +- .../core/otlp/common/OtlpGrpcSender.java | 2 ++ .../core/otlp/common/OtlpHttpSender.java | 2 ++ .../core/otlp/common/OtlpProtoBuffer.java | 3 ++- .../trace/core/otlp/common/OtlpSender.java | 1 + .../core/otlp/logs/OtlpLogsCollector.java | 2 +- .../core/otlp/logs/OtlpLogsJsonCollector.java | 4 +-- .../otlp/logs/OtlpLogsProtoCollector.java | 2 +- .../trace/core/otlp/logs/OtlpLogsService.java | 2 +- .../otlp/metrics/OtlpMetricsCollector.java | 2 +- .../metrics/OtlpMetricsJsonCollector.java | 4 +-- .../metrics/OtlpMetricsProtoCollector.java | 2 +- .../core/otlp/metrics/OtlpMetricsService.java | 2 +- .../otlp/metrics/OtlpStatsMetricWriter.java | 2 +- .../core/otlp/trace/OtlpTraceCollector.java | 2 +- .../otlp/trace/OtlpTraceJsonCollector.java | 4 +-- .../otlp/trace/OtlpTraceProtoCollector.java | 2 +- .../writer/OtlpPayloadDispatcherTest.java | 2 +- .../core/otlp/common/OtlpProtoBufferTest.java | 1 + .../otlp/logs/OtlpLogsJsonCollectorTest.java | 2 +- .../core/otlp/logs/OtlpLogsProtoTest.java | 2 +- .../metrics/OtlpMetricsJsonCollectorTest.java | 2 +- .../otlp/metrics/OtlpMetricsProtoTest.java | 2 +- .../metrics/OtlpStatsMetricWriterTest.java | 2 +- .../trace/OtlpTraceJsonCollectorTest.java | 2 +- .../core/otlp/trace/OtlpTraceProtoTest.java | 2 +- gradle/dependencies.gradle | 1 + settings.gradle.kts | 1 + 37 files changed, 71 insertions(+), 30 deletions(-) create mode 100644 communication/otlp-exporter/build.gradle.kts rename {dd-trace-core/src/main/java/datadog/trace/core/otlp/common => communication/otlp-exporter/src/main/java/datadog/communication/otlp}/OtlpGrpcRequestBody.java (97%) rename {dd-trace-core/src/main/java/datadog/trace/core/otlp/common => communication/otlp-exporter/src/main/java/datadog/communication/otlp}/OtlpHttpRequestBody.java (96%) rename {dd-trace-core/src/main/java/datadog/trace/core/otlp/common => communication/otlp-exporter/src/main/java/datadog/communication/otlp}/OtlpPayload.java (95%) rename {dd-trace-core/src/test/java/datadog/trace/core/otlp/common => communication/otlp-exporter/src/test/java/datadog/communication/otlp}/OtlpGrpcRequestBodyTest.java (98%) rename {dd-trace-core/src/test/java/datadog/trace/core/otlp/common => communication/otlp-exporter/src/test/java/datadog/communication/otlp}/OtlpHttpRequestBodyTest.java (98%) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 660d14776d4..1bb7d149b3e 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -18,6 +18,7 @@ # Shared communication /communication/*.* @DataDog/apm-java +/communication/otlp-exporter/ @DataDog/apm-sdk-capabilities-java /communication/src/*/*/datadog/communication/*.* @DataDog/apm-java /communication/src/*/*/datadog/communication/ddagent/ @DataDog/apm-java /communication/src/*/*/datadog/communication/http/ @DataDog/apm-java diff --git a/communication/otlp-exporter/build.gradle.kts b/communication/otlp-exporter/build.gradle.kts new file mode 100644 index 00000000000..c8bbe2daf79 --- /dev/null +++ b/communication/otlp-exporter/build.gradle.kts @@ -0,0 +1,25 @@ +plugins { + `java-library` + id("dd-trace-java.module.internal-library") +} + +description = "otlp-exporter" + +extra["excludedClassesCoverage"] = listOf( + "datadog.communication.otlp.OtlpGrpcSender", + "datadog.communication.otlp.OtlpHttpSender", + "datadog.communication.otlp.OtlpResponse", + "datadog.communication.otlp.OtlpSenderSupport" +) + +dependencies { + api(project(":dd-trace-api")) + api(project(":communication")) + api(project(":internal-api")) + implementation(project(":utils:logging-utils")) + implementation(libs.slf4j) + + testImplementation(libs.bundles.junit5) + testImplementation(libs.bundles.mockito) + testImplementation(libs.okhttp3.mockwebserver) +} diff --git a/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpGrpcRequestBody.java b/communication/otlp-exporter/src/main/java/datadog/communication/otlp/OtlpGrpcRequestBody.java similarity index 97% rename from dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpGrpcRequestBody.java rename to communication/otlp-exporter/src/main/java/datadog/communication/otlp/OtlpGrpcRequestBody.java index 24457780b1d..92694d1503a 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpGrpcRequestBody.java +++ b/communication/otlp-exporter/src/main/java/datadog/communication/otlp/OtlpGrpcRequestBody.java @@ -1,4 +1,4 @@ -package datadog.trace.core.otlp.common; +package datadog.communication.otlp; import java.io.IOException; import javax.annotation.Nonnull; diff --git a/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpHttpRequestBody.java b/communication/otlp-exporter/src/main/java/datadog/communication/otlp/OtlpHttpRequestBody.java similarity index 96% rename from dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpHttpRequestBody.java rename to communication/otlp-exporter/src/main/java/datadog/communication/otlp/OtlpHttpRequestBody.java index a94d5c59f08..e1a4fd3313b 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpHttpRequestBody.java +++ b/communication/otlp-exporter/src/main/java/datadog/communication/otlp/OtlpHttpRequestBody.java @@ -1,4 +1,4 @@ -package datadog.trace.core.otlp.common; +package datadog.communication.otlp; import java.io.IOException; import javax.annotation.Nonnull; diff --git a/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpPayload.java b/communication/otlp-exporter/src/main/java/datadog/communication/otlp/OtlpPayload.java similarity index 95% rename from dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpPayload.java rename to communication/otlp-exporter/src/main/java/datadog/communication/otlp/OtlpPayload.java index 87c2adf760d..2eb0945f6e7 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpPayload.java +++ b/communication/otlp-exporter/src/main/java/datadog/communication/otlp/OtlpPayload.java @@ -1,4 +1,4 @@ -package datadog.trace.core.otlp.common; +package datadog.communication.otlp; import java.nio.ByteBuffer; diff --git a/dd-trace-core/src/test/java/datadog/trace/core/otlp/common/OtlpGrpcRequestBodyTest.java b/communication/otlp-exporter/src/test/java/datadog/communication/otlp/OtlpGrpcRequestBodyTest.java similarity index 98% rename from dd-trace-core/src/test/java/datadog/trace/core/otlp/common/OtlpGrpcRequestBodyTest.java rename to communication/otlp-exporter/src/test/java/datadog/communication/otlp/OtlpGrpcRequestBodyTest.java index 702be21873c..407ee87f93d 100644 --- a/dd-trace-core/src/test/java/datadog/trace/core/otlp/common/OtlpGrpcRequestBodyTest.java +++ b/communication/otlp-exporter/src/test/java/datadog/communication/otlp/OtlpGrpcRequestBodyTest.java @@ -1,4 +1,4 @@ -package datadog.trace.core.otlp.common; +package datadog.communication.otlp; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; diff --git a/dd-trace-core/src/test/java/datadog/trace/core/otlp/common/OtlpHttpRequestBodyTest.java b/communication/otlp-exporter/src/test/java/datadog/communication/otlp/OtlpHttpRequestBodyTest.java similarity index 98% rename from dd-trace-core/src/test/java/datadog/trace/core/otlp/common/OtlpHttpRequestBodyTest.java rename to communication/otlp-exporter/src/test/java/datadog/communication/otlp/OtlpHttpRequestBodyTest.java index bd354049e9c..68c5d1eb2d1 100644 --- a/dd-trace-core/src/test/java/datadog/trace/core/otlp/common/OtlpHttpRequestBodyTest.java +++ b/communication/otlp-exporter/src/test/java/datadog/communication/otlp/OtlpHttpRequestBodyTest.java @@ -1,4 +1,4 @@ -package datadog.trace.core.otlp.common; +package datadog.communication.otlp; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; diff --git a/dd-java-agent/build.gradle b/dd-java-agent/build.gradle index 3fe773b73a4..94993e58966 100644 --- a/dd-java-agent/build.gradle +++ b/dd-java-agent/build.gradle @@ -434,6 +434,11 @@ dependencies { // do not bring along slf4j and dependent subprojects // (which are loaded on the bootstrap cl) } + sharedShadowInclude project(':communication:otlp-exporter'), { + transitive = false + // do not bring along slf4j and dependent subprojects + // (which are loaded on the bootstrap cl) + } sharedShadowInclude group: 'com.datadoghq', name: 'sketches-java', version: '0.8.3' sharedShadowInclude project(':telemetry'), { transitive = false diff --git a/dd-trace-core/build.gradle b/dd-trace-core/build.gradle index f1b42962a50..73167742d0e 100644 --- a/dd-trace-core/build.gradle +++ b/dd-trace-core/build.gradle @@ -80,6 +80,7 @@ dependencies { api project(':dd-trace-api') api project(':communication') + api project(':communication:otlp-exporter') api project(':internal-api') api project(':products:metrics:metrics-agent') // Note: dd-trace-core should NOT depend on metrics-lib directly diff --git a/dd-trace-core/src/main/java/datadog/trace/common/writer/OtlpPayloadDispatcher.java b/dd-trace-core/src/main/java/datadog/trace/common/writer/OtlpPayloadDispatcher.java index ed69f08c37e..4eba27f60f9 100644 --- a/dd-trace-core/src/main/java/datadog/trace/common/writer/OtlpPayloadDispatcher.java +++ b/dd-trace-core/src/main/java/datadog/trace/common/writer/OtlpPayloadDispatcher.java @@ -1,8 +1,8 @@ package datadog.trace.common.writer; +import datadog.communication.otlp.OtlpPayload; import datadog.trace.api.telemetry.OtlpTelemetry; import datadog.trace.core.CoreSpan; -import datadog.trace.core.otlp.common.OtlpPayload; import datadog.trace.core.otlp.common.OtlpSender; import datadog.trace.core.otlp.trace.OtlpTraceCollector; import java.util.Collection; diff --git a/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpGrpcSender.java b/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpGrpcSender.java index 73c73a7f626..b2cf4423c66 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpGrpcSender.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpGrpcSender.java @@ -4,6 +4,8 @@ import static datadog.communication.http.OkHttpUtils.isPlainHttp; import datadog.communication.http.HttpRetryPolicy; +import datadog.communication.otlp.OtlpGrpcRequestBody; +import datadog.communication.otlp.OtlpPayload; import datadog.logging.RatelimitedLogger; import datadog.trace.api.config.OtlpConfig.Compression; import datadog.trace.common.writer.RemoteApi; diff --git a/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpHttpSender.java b/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpHttpSender.java index 8cac29e85d5..867671644b1 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpHttpSender.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpHttpSender.java @@ -4,6 +4,8 @@ import static datadog.communication.http.OkHttpUtils.isPlainHttp; import datadog.communication.http.HttpRetryPolicy; +import datadog.communication.otlp.OtlpHttpRequestBody; +import datadog.communication.otlp.OtlpPayload; import datadog.logging.RatelimitedLogger; import datadog.trace.api.config.OtlpConfig.Compression; import datadog.trace.common.writer.RemoteApi; diff --git a/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpProtoBuffer.java b/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpProtoBuffer.java index 81196bfaa23..13e4ec10d0c 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpProtoBuffer.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpProtoBuffer.java @@ -1,11 +1,12 @@ package datadog.trace.core.otlp.common; +import static datadog.communication.otlp.OtlpPayload.PROTOBUF_CONTENT_TYPE; import static datadog.trace.core.otlp.common.OtlpCommonProto.LEN_WIRE_TYPE; import static datadog.trace.core.otlp.common.OtlpCommonProto.sizeVarInt; import static datadog.trace.core.otlp.common.OtlpCommonProto.writeVarInt; -import static datadog.trace.core.otlp.common.OtlpPayload.PROTOBUF_CONTENT_TYPE; import static datadog.trace.util.BitUtils.nextPowerOfTwo; +import datadog.communication.otlp.OtlpPayload; import datadog.communication.serialization.GrowableBuffer; import java.nio.ByteBuffer; diff --git a/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpSender.java b/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpSender.java index 81172279b85..c17043bbcc8 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpSender.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpSender.java @@ -1,5 +1,6 @@ package datadog.trace.core.otlp.common; +import datadog.communication.otlp.OtlpPayload; import datadog.trace.common.writer.RemoteApi; /** Sends chunks of OTLP data. */ diff --git a/dd-trace-core/src/main/java/datadog/trace/core/otlp/logs/OtlpLogsCollector.java b/dd-trace-core/src/main/java/datadog/trace/core/otlp/logs/OtlpLogsCollector.java index 0e699e22623..97950e5ece7 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/otlp/logs/OtlpLogsCollector.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/otlp/logs/OtlpLogsCollector.java @@ -1,6 +1,6 @@ package datadog.trace.core.otlp.logs; -import datadog.trace.core.otlp.common.OtlpPayload; +import datadog.communication.otlp.OtlpPayload; /** Collects logs ready for export. */ public abstract class OtlpLogsCollector { diff --git a/dd-trace-core/src/main/java/datadog/trace/core/otlp/logs/OtlpLogsJsonCollector.java b/dd-trace-core/src/main/java/datadog/trace/core/otlp/logs/OtlpLogsJsonCollector.java index b81822b6705..f168cdb3f23 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/otlp/logs/OtlpLogsJsonCollector.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/otlp/logs/OtlpLogsJsonCollector.java @@ -1,11 +1,12 @@ package datadog.trace.core.otlp.logs; +import static datadog.communication.otlp.OtlpPayload.JSON_CONTENT_TYPE; import static datadog.trace.core.otlp.common.OtlpCommonJson.writeAttribute; import static datadog.trace.core.otlp.common.OtlpCommonJson.writeScopeAndSchema; -import static datadog.trace.core.otlp.common.OtlpPayload.JSON_CONTENT_TYPE; import static datadog.trace.core.otlp.common.OtlpResourceJson.RESOURCE_FRAGMENT; import static datadog.trace.core.otlp.logs.OtlpLogsJson.writeLogRecordFields; +import datadog.communication.otlp.OtlpPayload; import datadog.json.JsonWriter; import datadog.trace.bootstrap.otel.common.OtelInstrumentationScope; import datadog.trace.bootstrap.otel.logs.data.OtelLogRecordProcessor; @@ -13,7 +14,6 @@ import datadog.trace.bootstrap.otlp.logs.OtlpLogsVisitor; import datadog.trace.bootstrap.otlp.logs.OtlpScopedLogsVisitor; import datadog.trace.core.otlp.common.LazyJsonArray; -import datadog.trace.core.otlp.common.OtlpPayload; import java.nio.ByteBuffer; import java.util.function.ObjIntConsumer; diff --git a/dd-trace-core/src/main/java/datadog/trace/core/otlp/logs/OtlpLogsProtoCollector.java b/dd-trace-core/src/main/java/datadog/trace/core/otlp/logs/OtlpLogsProtoCollector.java index 94fb0c6d1fa..98ffeaf691b 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/otlp/logs/OtlpLogsProtoCollector.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/otlp/logs/OtlpLogsProtoCollector.java @@ -7,6 +7,7 @@ import static datadog.trace.core.otlp.logs.OtlpLogsProto.recordLogRecordMessage; import static datadog.trace.core.otlp.logs.OtlpLogsProto.recordScopedLogsMessage; +import datadog.communication.otlp.OtlpPayload; import datadog.communication.serialization.GrowableBuffer; import datadog.trace.bootstrap.otel.common.OtelInstrumentationScope; import datadog.trace.bootstrap.otel.logs.data.OtelLogRecordProcessor; @@ -14,7 +15,6 @@ import datadog.trace.bootstrap.otlp.logs.OtlpLogsVisitor; import datadog.trace.bootstrap.otlp.logs.OtlpScopedLogsVisitor; import datadog.trace.core.otlp.common.OtlpCommonProto; -import datadog.trace.core.otlp.common.OtlpPayload; import datadog.trace.core.otlp.common.OtlpProtoBuffer; import java.util.function.ObjIntConsumer; diff --git a/dd-trace-core/src/main/java/datadog/trace/core/otlp/logs/OtlpLogsService.java b/dd-trace-core/src/main/java/datadog/trace/core/otlp/logs/OtlpLogsService.java index e65a3757782..e01c0a1fb2b 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/otlp/logs/OtlpLogsService.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/otlp/logs/OtlpLogsService.java @@ -3,12 +3,12 @@ import static datadog.trace.util.AgentThreadFactory.AgentThread.OTLP_LOGS_EXPORTER; import static datadog.trace.util.AgentThreadFactory.newAgentThread; +import datadog.communication.otlp.OtlpPayload; import datadog.trace.api.Config; import datadog.trace.api.telemetry.OtlpTelemetry; import datadog.trace.common.writer.RemoteApi; import datadog.trace.core.otlp.common.OtlpGrpcSender; import datadog.trace.core.otlp.common.OtlpHttpSender; -import datadog.trace.core.otlp.common.OtlpPayload; import datadog.trace.core.otlp.common.OtlpSender; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsCollector.java b/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsCollector.java index 3809160aadb..df18c9c5a22 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsCollector.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsCollector.java @@ -1,7 +1,7 @@ package datadog.trace.core.otlp.metrics; +import datadog.communication.otlp.OtlpPayload; import datadog.trace.bootstrap.otlp.metrics.OtlpMetricsVisitor; -import datadog.trace.core.otlp.common.OtlpPayload; import java.util.function.Consumer; /** Collects metrics ready for export. */ diff --git a/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsJsonCollector.java b/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsJsonCollector.java index 46fe6ae0abe..3bdb22c22ac 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsJsonCollector.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsJsonCollector.java @@ -1,15 +1,16 @@ package datadog.trace.core.otlp.metrics; +import static datadog.communication.otlp.OtlpPayload.JSON_CONTENT_TYPE; import static datadog.trace.bootstrap.otel.metrics.OtelInstrumentType.GAUGE; import static datadog.trace.bootstrap.otel.metrics.OtelInstrumentType.OBSERVABLE_GAUGE; import static datadog.trace.core.otlp.common.OtlpCommonJson.writeAttribute; import static datadog.trace.core.otlp.common.OtlpCommonJson.writeScopeAndSchema; -import static datadog.trace.core.otlp.common.OtlpPayload.JSON_CONTENT_TYPE; import static datadog.trace.core.otlp.common.OtlpResourceJson.RESOURCE_FRAGMENT; import static datadog.trace.core.otlp.metrics.OtlpMetricsJson.closeMetric; import static datadog.trace.core.otlp.metrics.OtlpMetricsJson.openMetric; import static datadog.trace.core.otlp.metrics.OtlpMetricsJson.writeDataPointValue; +import datadog.communication.otlp.OtlpPayload; import datadog.json.JsonWriter; import datadog.trace.api.time.TimeSource; import datadog.trace.bootstrap.otel.common.OtelInstrumentationScope; @@ -21,7 +22,6 @@ import datadog.trace.bootstrap.otlp.metrics.OtlpMetricsVisitor; import datadog.trace.bootstrap.otlp.metrics.OtlpScopedMetricsVisitor; import datadog.trace.core.otlp.common.LazyJsonArray; -import datadog.trace.core.otlp.common.OtlpPayload; import java.nio.ByteBuffer; import java.util.function.Consumer; diff --git a/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsProtoCollector.java b/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsProtoCollector.java index 82029367669..2a78bf8d37a 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsProtoCollector.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsProtoCollector.java @@ -13,6 +13,7 @@ import static datadog.trace.core.otlp.metrics.OtlpMetricsProto.recordMetricMessage; import static datadog.trace.core.otlp.metrics.OtlpMetricsProto.recordScopedMetricsMessage; +import datadog.communication.otlp.OtlpPayload; import datadog.communication.serialization.GrowableBuffer; import datadog.trace.api.time.TimeSource; import datadog.trace.bootstrap.otel.common.OtelInstrumentationScope; @@ -24,7 +25,6 @@ import datadog.trace.bootstrap.otlp.metrics.OtlpMetricsVisitor; import datadog.trace.bootstrap.otlp.metrics.OtlpScopedMetricsVisitor; import datadog.trace.core.otlp.common.OtlpCommonProto; -import datadog.trace.core.otlp.common.OtlpPayload; import datadog.trace.core.otlp.common.OtlpProtoBuffer; import java.util.function.Consumer; diff --git a/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsService.java b/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsService.java index 4a7580aa061..9e3e2920521 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsService.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpMetricsService.java @@ -2,12 +2,12 @@ import static datadog.trace.util.AgentThreadFactory.AgentThread.OTLP_METRICS_EXPORTER; +import datadog.communication.otlp.OtlpPayload; import datadog.trace.api.Config; import datadog.trace.api.config.OtlpConfig; import datadog.trace.api.telemetry.OtlpTelemetry; import datadog.trace.api.time.SystemTimeSource; import datadog.trace.common.writer.RemoteApi; -import datadog.trace.core.otlp.common.OtlpPayload; import datadog.trace.core.otlp.common.OtlpSender; import datadog.trace.util.AgentTaskScheduler; import java.util.concurrent.ThreadLocalRandom; diff --git a/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpStatsMetricWriter.java b/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpStatsMetricWriter.java index 5e69d20e1f0..696b3bc08b4 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpStatsMetricWriter.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/otlp/metrics/OtlpStatsMetricWriter.java @@ -6,6 +6,7 @@ import static datadog.trace.bootstrap.otlp.common.OtlpAttributeVisitor.STRING_ARRAY_ATTRIBUTE; import static datadog.trace.bootstrap.otlp.common.OtlpAttributeVisitor.STRING_ATTRIBUTE; +import datadog.communication.otlp.OtlpPayload; import datadog.metrics.api.Histogram; import datadog.trace.api.Config; import datadog.trace.api.config.OtlpConfig; @@ -21,7 +22,6 @@ import datadog.trace.common.metrics.AggregateEntry; import datadog.trace.common.metrics.MetricWriter; import datadog.trace.common.writer.RemoteApi; -import datadog.trace.core.otlp.common.OtlpPayload; import datadog.trace.core.otlp.common.OtlpResourceJson; import datadog.trace.core.otlp.common.OtlpResourceProto; import datadog.trace.core.otlp.common.OtlpSender; diff --git a/dd-trace-core/src/main/java/datadog/trace/core/otlp/trace/OtlpTraceCollector.java b/dd-trace-core/src/main/java/datadog/trace/core/otlp/trace/OtlpTraceCollector.java index 127e27af467..4931877e0b1 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/otlp/trace/OtlpTraceCollector.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/otlp/trace/OtlpTraceCollector.java @@ -2,8 +2,8 @@ import static datadog.trace.core.DDSpanContext.SPAN_SAMPLING_MECHANISM_TAG; +import datadog.communication.otlp.OtlpPayload; import datadog.trace.core.CoreSpan; -import datadog.trace.core.otlp.common.OtlpPayload; import java.util.List; /** Collects traces ready for export. */ diff --git a/dd-trace-core/src/main/java/datadog/trace/core/otlp/trace/OtlpTraceJsonCollector.java b/dd-trace-core/src/main/java/datadog/trace/core/otlp/trace/OtlpTraceJsonCollector.java index cbb39ed615b..38baaa8c566 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/otlp/trace/OtlpTraceJsonCollector.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/otlp/trace/OtlpTraceJsonCollector.java @@ -1,17 +1,17 @@ package datadog.trace.core.otlp.trace; +import static datadog.communication.otlp.OtlpPayload.JSON_CONTENT_TYPE; import static datadog.trace.core.otlp.common.OtlpCommonJson.writeScopeAndSchema; -import static datadog.trace.core.otlp.common.OtlpPayload.JSON_CONTENT_TYPE; import static datadog.trace.core.otlp.common.OtlpProtoBuffer.MAX_CAPACITY_BYTES; import static datadog.trace.core.otlp.common.OtlpResourceJson.TRACE_RESOURCE_FRAGMENT; import static datadog.trace.core.otlp.trace.OtlpTraceJson.writeSpan; +import datadog.communication.otlp.OtlpPayload; import datadog.json.JsonWriter; import datadog.trace.bootstrap.instrumentation.api.AgentSpanLink; import datadog.trace.bootstrap.otel.common.OtelInstrumentationScope; import datadog.trace.core.CoreSpan; import datadog.trace.core.DDSpan; -import datadog.trace.core.otlp.common.OtlpPayload; import java.nio.ByteBuffer; import java.util.Collections; import java.util.List; diff --git a/dd-trace-core/src/main/java/datadog/trace/core/otlp/trace/OtlpTraceProtoCollector.java b/dd-trace-core/src/main/java/datadog/trace/core/otlp/trace/OtlpTraceProtoCollector.java index ba51d9f9f3d..164755e413b 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/otlp/trace/OtlpTraceProtoCollector.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/otlp/trace/OtlpTraceProtoCollector.java @@ -5,13 +5,13 @@ import static datadog.trace.core.otlp.trace.OtlpTraceProto.recordSpanLinkMessage; import static datadog.trace.core.otlp.trace.OtlpTraceProto.recordSpanMessage; +import datadog.communication.otlp.OtlpPayload; import datadog.communication.serialization.GrowableBuffer; import datadog.trace.bootstrap.instrumentation.api.AgentSpanLink; import datadog.trace.bootstrap.otel.common.OtelInstrumentationScope; import datadog.trace.core.CoreSpan; import datadog.trace.core.DDSpan; import datadog.trace.core.otlp.common.OtlpCommonProto; -import datadog.trace.core.otlp.common.OtlpPayload; import datadog.trace.core.otlp.common.OtlpProtoBuffer; import java.util.List; diff --git a/dd-trace-core/src/test/java/datadog/trace/common/writer/OtlpPayloadDispatcherTest.java b/dd-trace-core/src/test/java/datadog/trace/common/writer/OtlpPayloadDispatcherTest.java index 280e37f0f41..5b0fb731bf3 100644 --- a/dd-trace-core/src/test/java/datadog/trace/common/writer/OtlpPayloadDispatcherTest.java +++ b/dd-trace-core/src/test/java/datadog/trace/common/writer/OtlpPayloadDispatcherTest.java @@ -12,10 +12,10 @@ import static org.mockito.Mockito.verifyNoInteractions; import static org.mockito.Mockito.when; +import datadog.communication.otlp.OtlpPayload; import datadog.trace.api.sampling.PrioritySampling; import datadog.trace.api.telemetry.OtlpTelemetry; import datadog.trace.core.CoreSpan; -import datadog.trace.core.otlp.common.OtlpPayload; import datadog.trace.core.otlp.common.OtlpSender; import datadog.trace.core.otlp.trace.OtlpTraceCollector; import java.nio.ByteBuffer; diff --git a/dd-trace-core/src/test/java/datadog/trace/core/otlp/common/OtlpProtoBufferTest.java b/dd-trace-core/src/test/java/datadog/trace/core/otlp/common/OtlpProtoBufferTest.java index 794b36b8ee4..5e9d00705a3 100644 --- a/dd-trace-core/src/test/java/datadog/trace/core/otlp/common/OtlpProtoBufferTest.java +++ b/dd-trace-core/src/test/java/datadog/trace/core/otlp/common/OtlpProtoBufferTest.java @@ -8,6 +8,7 @@ import com.google.protobuf.CodedInputStream; import com.google.protobuf.WireFormat; +import datadog.communication.otlp.OtlpPayload; import datadog.communication.serialization.GrowableBuffer; import java.io.IOException; import java.nio.ByteBuffer; diff --git a/dd-trace-core/src/test/java/datadog/trace/core/otlp/logs/OtlpLogsJsonCollectorTest.java b/dd-trace-core/src/test/java/datadog/trace/core/otlp/logs/OtlpLogsJsonCollectorTest.java index 75c4cef2978..c1a8e7d3e05 100644 --- a/dd-trace-core/src/test/java/datadog/trace/core/otlp/logs/OtlpLogsJsonCollectorTest.java +++ b/dd-trace-core/src/test/java/datadog/trace/core/otlp/logs/OtlpLogsJsonCollectorTest.java @@ -9,6 +9,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; +import datadog.communication.otlp.OtlpPayload; import datadog.json.JsonMapper; import datadog.trace.api.sampling.PrioritySampling; import datadog.trace.api.sampling.SamplingMechanism; @@ -20,7 +21,6 @@ import datadog.trace.common.writer.LoggingWriter; import datadog.trace.core.CoreTracer; import datadog.trace.core.DDSpan; -import datadog.trace.core.otlp.common.OtlpPayload; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.Collections; diff --git a/dd-trace-core/src/test/java/datadog/trace/core/otlp/logs/OtlpLogsProtoTest.java b/dd-trace-core/src/test/java/datadog/trace/core/otlp/logs/OtlpLogsProtoTest.java index 735653921cb..44254fb189e 100644 --- a/dd-trace-core/src/test/java/datadog/trace/core/otlp/logs/OtlpLogsProtoTest.java +++ b/dd-trace-core/src/test/java/datadog/trace/core/otlp/logs/OtlpLogsProtoTest.java @@ -17,6 +17,7 @@ import com.google.protobuf.CodedInputStream; import com.google.protobuf.WireFormat; +import datadog.communication.otlp.OtlpPayload; import datadog.trace.api.DD128bTraceId; import datadog.trace.api.TracePropagationStyle; import datadog.trace.api.sampling.PrioritySampling; @@ -30,7 +31,6 @@ import datadog.trace.common.writer.LoggingWriter; import datadog.trace.core.CoreTracer; import datadog.trace.core.DDSpan; -import datadog.trace.core.otlp.common.OtlpPayload; import datadog.trace.core.propagation.ExtractedContext; import datadog.trace.core.propagation.PropagationTags; import java.io.IOException; diff --git a/dd-trace-core/src/test/java/datadog/trace/core/otlp/metrics/OtlpMetricsJsonCollectorTest.java b/dd-trace-core/src/test/java/datadog/trace/core/otlp/metrics/OtlpMetricsJsonCollectorTest.java index a3cbf6a0637..b55e83c1ce2 100644 --- a/dd-trace-core/src/test/java/datadog/trace/core/otlp/metrics/OtlpMetricsJsonCollectorTest.java +++ b/dd-trace-core/src/test/java/datadog/trace/core/otlp/metrics/OtlpMetricsJsonCollectorTest.java @@ -8,6 +8,7 @@ import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; +import datadog.communication.otlp.OtlpPayload; import datadog.json.JsonMapper; import datadog.trace.api.time.ControllableTimeSource; import datadog.trace.bootstrap.otel.common.OtelInstrumentationScope; @@ -18,7 +19,6 @@ import datadog.trace.bootstrap.otlp.metrics.OtlpMetricVisitor; import datadog.trace.bootstrap.otlp.metrics.OtlpMetricsVisitor; import datadog.trace.bootstrap.otlp.metrics.OtlpScopedMetricsVisitor; -import datadog.trace.core.otlp.common.OtlpPayload; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.Arrays; diff --git a/dd-trace-core/src/test/java/datadog/trace/core/otlp/metrics/OtlpMetricsProtoTest.java b/dd-trace-core/src/test/java/datadog/trace/core/otlp/metrics/OtlpMetricsProtoTest.java index 8cc2ac4ea81..0bd5babd969 100644 --- a/dd-trace-core/src/test/java/datadog/trace/core/otlp/metrics/OtlpMetricsProtoTest.java +++ b/dd-trace-core/src/test/java/datadog/trace/core/otlp/metrics/OtlpMetricsProtoTest.java @@ -20,6 +20,7 @@ import com.google.protobuf.CodedInputStream; import com.google.protobuf.WireFormat; +import datadog.communication.otlp.OtlpPayload; import datadog.trace.api.time.ControllableTimeSource; import datadog.trace.bootstrap.otel.common.OtelInstrumentationScope; import datadog.trace.bootstrap.otel.metrics.OtelInstrumentDescriptor; @@ -30,7 +31,6 @@ import datadog.trace.bootstrap.otlp.metrics.OtlpLongPoint; import datadog.trace.bootstrap.otlp.metrics.OtlpMetricVisitor; import datadog.trace.bootstrap.otlp.metrics.OtlpScopedMetricsVisitor; -import datadog.trace.core.otlp.common.OtlpPayload; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; diff --git a/dd-trace-core/src/test/java/datadog/trace/core/otlp/metrics/OtlpStatsMetricWriterTest.java b/dd-trace-core/src/test/java/datadog/trace/core/otlp/metrics/OtlpStatsMetricWriterTest.java index e20f8713b84..6280775f539 100644 --- a/dd-trace-core/src/test/java/datadog/trace/core/otlp/metrics/OtlpStatsMetricWriterTest.java +++ b/dd-trace-core/src/test/java/datadog/trace/core/otlp/metrics/OtlpStatsMetricWriterTest.java @@ -11,13 +11,13 @@ import com.google.protobuf.CodedInputStream; import com.google.protobuf.WireFormat; +import datadog.communication.otlp.OtlpPayload; import datadog.metrics.api.Histograms; import datadog.metrics.impl.DDSketchHistograms; import datadog.trace.bootstrap.instrumentation.api.UTF8BytesString; import datadog.trace.common.metrics.AggregateEntry; import datadog.trace.common.metrics.AggregateEntryTestUtils; import datadog.trace.common.writer.RemoteApi; -import datadog.trace.core.otlp.common.OtlpPayload; import datadog.trace.core.otlp.common.OtlpSender; import java.io.IOException; import java.util.ArrayList; diff --git a/dd-trace-core/src/test/java/datadog/trace/core/otlp/trace/OtlpTraceJsonCollectorTest.java b/dd-trace-core/src/test/java/datadog/trace/core/otlp/trace/OtlpTraceJsonCollectorTest.java index a0456e9d20e..771893024a4 100644 --- a/dd-trace-core/src/test/java/datadog/trace/core/otlp/trace/OtlpTraceJsonCollectorTest.java +++ b/dd-trace-core/src/test/java/datadog/trace/core/otlp/trace/OtlpTraceJsonCollectorTest.java @@ -16,6 +16,7 @@ import static org.mockito.Mockito.mockStatic; import static org.mockito.Mockito.when; +import datadog.communication.otlp.OtlpPayload; import datadog.json.JsonMapper; import datadog.trace.api.Config; import datadog.trace.api.DDTraceId; @@ -29,7 +30,6 @@ import datadog.trace.core.CoreSpan; import datadog.trace.core.CoreTracer; import datadog.trace.core.DDSpan; -import datadog.trace.core.otlp.common.OtlpPayload; import datadog.trace.core.propagation.ExtractedContext; import datadog.trace.core.propagation.PropagationTags; import java.io.IOException; diff --git a/dd-trace-core/src/test/java/datadog/trace/core/otlp/trace/OtlpTraceProtoTest.java b/dd-trace-core/src/test/java/datadog/trace/core/otlp/trace/OtlpTraceProtoTest.java index 1402c16c7b3..68775df4228 100644 --- a/dd-trace-core/src/test/java/datadog/trace/core/otlp/trace/OtlpTraceProtoTest.java +++ b/dd-trace-core/src/test/java/datadog/trace/core/otlp/trace/OtlpTraceProtoTest.java @@ -25,6 +25,7 @@ import com.google.protobuf.CodedInputStream; import com.google.protobuf.WireFormat; +import datadog.communication.otlp.OtlpPayload; import datadog.trace.api.Config; import datadog.trace.api.DD128bTraceId; import datadog.trace.api.DDTraceId; @@ -39,7 +40,6 @@ import datadog.trace.core.CoreSpan; import datadog.trace.core.CoreTracer; import datadog.trace.core.DDSpan; -import datadog.trace.core.otlp.common.OtlpPayload; import datadog.trace.core.propagation.ExtractedContext; import datadog.trace.core.propagation.PropagationTags; import java.io.IOException; diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle index f781cbc134a..8e51846d6e2 100644 --- a/gradle/dependencies.gradle +++ b/gradle/dependencies.gradle @@ -20,6 +20,7 @@ final class CachedData { filter.exclude(filter.project(':internal-api')) filter.exclude(filter.project(':internal-api:internal-api-9')) filter.exclude(filter.project(':communication')) + filter.exclude(filter.project(':communication:otlp-exporter')) filter.exclude(filter.project(':components:context')) filter.exclude(filter.project(':components:environment')) filter.exclude(filter.project(':components:json')) diff --git a/settings.gradle.kts b/settings.gradle.kts index 86a6b18b058..d44847c0f97 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -117,6 +117,7 @@ include( include( ":communication", + ":communication:otlp-exporter", ":components:annotations", ":components:context", ":components:environment",