From 1fcea2017b98b5bcf53a70cb420a486ca6ae3a2e Mon Sep 17 00:00:00 2001 From: jack-berg <34418638+jack-berg@users.noreply.github.com> Date: Thu, 6 Oct 2022 10:50:25 -0500 Subject: [PATCH] Publish :instrumentation:netty:netty-4-common as library instrumentation (#6811) Related to #6734. Builds on #6805. I'll follow it up by splitting out `:instrumentation:netty:netty-4.1` in a separate PR. --- .../netty-4-common/javaagent/build.gradle.kts | 6 +-- .../netty-4-common/library/build.gradle.kts | 12 ++++++ .../internal}/HttpRequestAndChannel.java | 6 ++- .../v4/common/internal}/HttpSchemeUtil.java | 6 ++- .../client/ConnectionCompleteListener.java | 6 ++- .../client/HttpRequestHeadersSetter.java | 4 +- .../NettyClientInstrumenterFactory.java | 37 +++++++++++++------ .../NettyConnectNetAttributesGetter.java | 2 +- .../client/NettyConnectionInstrumenter.java | 6 ++- .../NettyConnectionInstrumenterImpl.java | 2 +- .../NettyErrorOnlyConnectionInstrumenter.java | 2 +- .../NettyHttpClientAttributesGetter.java | 6 +-- .../NettyNetClientAttributesGetter.java | 4 +- .../client/NettySslErrorOnlyInstrumenter.java | 2 +- .../NettySslInstrumentationHandler.java | 6 ++- .../client/NettySslInstrumenter.java | 6 ++- .../client/NettySslInstrumenterImpl.java | 2 +- .../client/NettySslNetAttributesGetter.java | 2 +- .../internal}/client/NettySslRequest.java | 6 ++- .../server/HttpRequestHeadersGetter.java | 4 +- .../NettyHttpServerAttributesGetter.java | 6 +-- .../NettyNetServerAttributesGetter.java | 4 +- .../NettyServerInstrumenterFactory.java | 18 ++++++--- .../netty-4.0/javaagent/build.gradle.kts | 2 + ...tChannelHandlerContextInstrumentation.java | 2 +- .../netty/v4_0/AttributeKeys.java | 2 +- .../netty/v4_0/BootstrapInstrumentation.java | 2 +- .../NettyChannelPipelineInstrumentation.java | 2 +- .../HttpClientRequestTracingHandler.java | 2 +- .../HttpClientResponseTracingHandler.java | 2 +- .../v4_0/client/NettyClientSingletons.java | 16 +++++--- .../HttpServerRequestTracingHandler.java | 2 +- .../HttpServerResponseTracingHandler.java | 2 +- .../v4_0/server/NettyServerSingletons.java | 10 +++-- .../netty-4.1/javaagent/build.gradle.kts | 4 +- ...tChannelHandlerContextInstrumentation.java | 2 +- .../netty/v4_1/BootstrapInstrumentation.java | 2 +- .../InstrumentedAddressResolverGroup.java | 2 +- .../NettyChannelPipelineInstrumentation.java | 2 +- .../HttpClientRequestTracingHandler.java | 2 +- .../HttpClientResponseTracingHandler.java | 2 +- .../v4_1/client/NettyClientSingletons.java | 16 +++++--- .../HttpServerRequestTracingHandler.java | 2 +- .../HttpServerResponseTracingHandler.java | 2 +- .../v4_1/server/NettyServerSingletons.java | 10 +++-- .../javaagent/build.gradle.kts | 2 + .../v1_0/ReactorNettySingletons.java | 12 ++++-- settings.gradle.kts | 1 + 48 files changed, 175 insertions(+), 85 deletions(-) create mode 100644 instrumentation/netty/netty-4-common/library/build.gradle.kts rename instrumentation/netty/netty-4-common/{javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common => library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal}/HttpRequestAndChannel.java (81%) rename instrumentation/netty/netty-4-common/{javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common => library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal}/HttpSchemeUtil.java (84%) rename instrumentation/netty/netty-4-common/{javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common => library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal}/client/ConnectionCompleteListener.java (85%) rename instrumentation/netty/netty-4-common/{javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common => library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal}/client/HttpRequestHeadersSetter.java (71%) rename instrumentation/netty/netty-4-common/{javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common => library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal}/client/NettyClientInstrumenterFactory.java (79%) rename instrumentation/netty/netty-4-common/{javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common => library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal}/client/NettyConnectNetAttributesGetter.java (96%) rename instrumentation/netty/netty-4-common/{javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common => library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal}/client/NettyConnectionInstrumenter.java (75%) rename instrumentation/netty/netty-4-common/{javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common => library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal}/client/NettyConnectionInstrumenterImpl.java (93%) rename instrumentation/netty/netty-4-common/{javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common => library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal}/client/NettyErrorOnlyConnectionInstrumenter.java (95%) rename instrumentation/netty/netty-4-common/{javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common => library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal}/client/NettyHttpClientAttributesGetter.java (89%) rename instrumentation/netty/netty-4-common/{javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common => library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal}/client/NettyNetClientAttributesGetter.java (90%) rename instrumentation/netty/netty-4-common/{javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common => library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal}/client/NettySslErrorOnlyInstrumenter.java (94%) rename instrumentation/netty/netty-4-common/{javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common => library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal}/client/NettySslInstrumentationHandler.java (95%) rename instrumentation/netty/netty-4-common/{javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common => library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal}/client/NettySslInstrumenter.java (68%) rename instrumentation/netty/netty-4-common/{javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common => library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal}/client/NettySslInstrumenterImpl.java (92%) rename instrumentation/netty/netty-4-common/{javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common => library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal}/client/NettySslNetAttributesGetter.java (94%) rename instrumentation/netty/netty-4-common/{javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common => library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal}/client/NettySslRequest.java (73%) rename instrumentation/netty/netty-4-common/{javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common => library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal}/server/HttpRequestHeadersGetter.java (77%) rename instrumentation/netty/netty-4-common/{javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common => library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal}/server/NettyHttpServerAttributesGetter.java (86%) rename instrumentation/netty/netty-4-common/{javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common => library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal}/server/NettyNetServerAttributesGetter.java (91%) rename instrumentation/netty/netty-4-common/{javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common => library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal}/server/NettyServerInstrumenterFactory.java (77%) diff --git a/instrumentation/netty/netty-4-common/javaagent/build.gradle.kts b/instrumentation/netty/netty-4-common/javaagent/build.gradle.kts index 04f6abb67b..4e9f1dbdb5 100644 --- a/instrumentation/netty/netty-4-common/javaagent/build.gradle.kts +++ b/instrumentation/netty/netty-4-common/javaagent/build.gradle.kts @@ -3,10 +3,8 @@ plugins { } dependencies { - compileOnly("com.google.auto.value:auto-value-annotations") - annotationProcessor("com.google.auto.value:auto-value") - - api(project(":instrumentation:netty:netty-common:library")) + implementation(project(":instrumentation:netty:netty-4-common:library")) + implementation(project(":instrumentation:netty:netty-common:library")) compileOnly("io.netty:netty-codec-http:4.0.0.Final") } diff --git a/instrumentation/netty/netty-4-common/library/build.gradle.kts b/instrumentation/netty/netty-4-common/library/build.gradle.kts new file mode 100644 index 0000000000..feefae65cf --- /dev/null +++ b/instrumentation/netty/netty-4-common/library/build.gradle.kts @@ -0,0 +1,12 @@ +plugins { + id("otel.library-instrumentation") +} + +dependencies { + compileOnly("com.google.auto.value:auto-value-annotations") + annotationProcessor("com.google.auto.value:auto-value") + + implementation(project(":instrumentation:netty:netty-common:library")) + + compileOnly("io.netty:netty-codec-http:4.0.0.Final") +} diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/HttpRequestAndChannel.java b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/HttpRequestAndChannel.java similarity index 81% rename from instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/HttpRequestAndChannel.java rename to instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/HttpRequestAndChannel.java index 70743998f7..808d23ed41 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/HttpRequestAndChannel.java +++ b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/HttpRequestAndChannel.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.netty.v4.common; +package io.opentelemetry.instrumentation.netty.v4.common.internal; import com.google.auto.value.AutoValue; import io.netty.channel.Channel; @@ -11,6 +11,10 @@ import io.netty.handler.codec.http.HttpRequest; import java.net.SocketAddress; import javax.annotation.Nullable; +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ @AutoValue public abstract class HttpRequestAndChannel { diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/HttpSchemeUtil.java b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/HttpSchemeUtil.java similarity index 84% rename from instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/HttpSchemeUtil.java rename to instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/HttpSchemeUtil.java index 9b08b508b7..e47aea6ab9 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/HttpSchemeUtil.java +++ b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/HttpSchemeUtil.java @@ -3,10 +3,14 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.netty.v4.common; +package io.opentelemetry.instrumentation.netty.v4.common.internal; import io.netty.channel.ChannelHandler; +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ public final class HttpSchemeUtil { private static final Class sslHandlerClass = getSslHandlerClass(); diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/ConnectionCompleteListener.java b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/ConnectionCompleteListener.java similarity index 85% rename from instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/ConnectionCompleteListener.java rename to instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/ConnectionCompleteListener.java index 19516bf184..bf7c1b6d7b 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/ConnectionCompleteListener.java +++ b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/ConnectionCompleteListener.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.netty.v4.common.client; +package io.opentelemetry.instrumentation.netty.v4.common.internal.client; import io.netty.channel.Channel; import io.netty.channel.ChannelFuture; @@ -12,6 +12,10 @@ import io.netty.util.concurrent.GenericFutureListener; import io.opentelemetry.context.Context; import io.opentelemetry.instrumentation.netty.common.internal.NettyConnectionRequest; +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ public class ConnectionCompleteListener implements GenericFutureListener> { private final NettyConnectionInstrumenter instrumenter; private final Context context; diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/HttpRequestHeadersSetter.java b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/HttpRequestHeadersSetter.java similarity index 71% rename from instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/HttpRequestHeadersSetter.java rename to instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/HttpRequestHeadersSetter.java index bd625c7aee..5af3dccbc8 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/HttpRequestHeadersSetter.java +++ b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/HttpRequestHeadersSetter.java @@ -3,10 +3,10 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.netty.v4.common.client; +package io.opentelemetry.instrumentation.netty.v4.common.internal.client; import io.opentelemetry.context.propagation.TextMapSetter; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpRequestAndChannel; +import io.opentelemetry.instrumentation.netty.v4.common.internal.HttpRequestAndChannel; enum HttpRequestHeadersSetter implements TextMapSetter { INSTANCE; diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyClientInstrumenterFactory.java b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettyClientInstrumenterFactory.java similarity index 79% rename from instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyClientInstrumenterFactory.java rename to instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettyClientInstrumenterFactory.java index f3cad3c954..f9c485734f 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyClientInstrumenterFactory.java +++ b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettyClientInstrumenterFactory.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.netty.v4.common.client; +package io.opentelemetry.instrumentation.netty.v4.common.internal.client; import io.netty.channel.Channel; import io.netty.handler.codec.http.HttpResponse; @@ -19,20 +19,36 @@ import io.opentelemetry.instrumentation.api.instrumenter.net.NetClientAttributes import io.opentelemetry.instrumentation.api.instrumenter.net.PeerServiceAttributesExtractor; import io.opentelemetry.instrumentation.netty.common.internal.HttpClientSpanKeyAttributesExtractor; import io.opentelemetry.instrumentation.netty.common.internal.NettyConnectionRequest; -import io.opentelemetry.javaagent.bootstrap.internal.CommonConfig; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpRequestAndChannel; +import io.opentelemetry.instrumentation.netty.v4.common.internal.HttpRequestAndChannel; +import java.util.List; +import java.util.Map; +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ public final class NettyClientInstrumenterFactory { private final String instrumentationName; private final boolean connectionTelemetryEnabled; private final boolean sslTelemetryEnabled; + private final List capturedRequestHeaders; + private final List capturedResponseHeaders; + private final Map peerServiceMapping; public NettyClientInstrumenterFactory( - String instrumentationName, boolean connectionTelemetryEnabled, boolean sslTelemetryEnabled) { + String instrumentationName, + boolean connectionTelemetryEnabled, + boolean sslTelemetryEnabled, + List capturedRequestHeaders, + List capturedResponseHeaders, + Map peerServiceMapping) { this.instrumentationName = instrumentationName; this.connectionTelemetryEnabled = connectionTelemetryEnabled; this.sslTelemetryEnabled = sslTelemetryEnabled; + this.capturedRequestHeaders = capturedRequestHeaders; + this.capturedResponseHeaders = capturedResponseHeaders; + this.peerServiceMapping = peerServiceMapping; } public Instrumenter createHttpInstrumenter() { @@ -47,13 +63,12 @@ public final class NettyClientInstrumenterFactory { .setSpanStatusExtractor(HttpSpanStatusExtractor.create(httpClientAttributesGetter)) .addAttributesExtractor( HttpClientAttributesExtractor.builder(httpClientAttributesGetter) - .setCapturedRequestHeaders(CommonConfig.get().getClientRequestHeaders()) - .setCapturedResponseHeaders(CommonConfig.get().getClientResponseHeaders()) + .setCapturedRequestHeaders(capturedRequestHeaders) + .setCapturedResponseHeaders(capturedResponseHeaders) .build()) .addAttributesExtractor(NetClientAttributesExtractor.create(netAttributesGetter)) .addAttributesExtractor( - PeerServiceAttributesExtractor.create( - netAttributesGetter, CommonConfig.get().getPeerServiceMapping())) + PeerServiceAttributesExtractor.create(netAttributesGetter, peerServiceMapping)) .addOperationMetrics(HttpClientMetrics.get()) .buildClientInstrumenter(HttpRequestHeadersSetter.INSTANCE); } @@ -66,8 +81,7 @@ public final class NettyClientInstrumenterFactory { GlobalOpenTelemetry.get(), instrumentationName, NettyConnectionRequest::spanName) .addAttributesExtractor(NetClientAttributesExtractor.create(netAttributesGetter)) .addAttributesExtractor( - PeerServiceAttributesExtractor.create( - netAttributesGetter, CommonConfig.get().getPeerServiceMapping())); + PeerServiceAttributesExtractor.create(netAttributesGetter, peerServiceMapping)); if (!connectionTelemetryEnabled) { // when the connection telemetry is not enabled, netty creates CONNECT spans whenever a // connection error occurs - because there is no HTTP span in that scenario, if raw netty @@ -97,8 +111,7 @@ public final class NettyClientInstrumenterFactory { GlobalOpenTelemetry.get(), instrumentationName, NettySslRequest::spanName) .addAttributesExtractor(NetClientAttributesExtractor.create(netAttributesGetter)) .addAttributesExtractor( - PeerServiceAttributesExtractor.create( - netAttributesGetter, CommonConfig.get().getPeerServiceMapping())) + PeerServiceAttributesExtractor.create(netAttributesGetter, peerServiceMapping)) .buildInstrumenter( sslTelemetryEnabled ? SpanKindExtractor.alwaysInternal() diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyConnectNetAttributesGetter.java b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettyConnectNetAttributesGetter.java similarity index 96% rename from instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyConnectNetAttributesGetter.java rename to instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettyConnectNetAttributesGetter.java index e6a5ed820a..1dea1c3581 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyConnectNetAttributesGetter.java +++ b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettyConnectNetAttributesGetter.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.netty.v4.common.client; +package io.opentelemetry.instrumentation.netty.v4.common.internal.client; import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NetTransportValues.IP_TCP; import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NetTransportValues.IP_UDP; diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyConnectionInstrumenter.java b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettyConnectionInstrumenter.java similarity index 75% rename from instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyConnectionInstrumenter.java rename to instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettyConnectionInstrumenter.java index c872e1fc65..5f671971fc 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyConnectionInstrumenter.java +++ b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettyConnectionInstrumenter.java @@ -3,13 +3,17 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.netty.v4.common.client; +package io.opentelemetry.instrumentation.netty.v4.common.internal.client; import io.netty.channel.Channel; import io.opentelemetry.context.Context; import io.opentelemetry.instrumentation.netty.common.internal.NettyConnectionRequest; import javax.annotation.Nullable; +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ public interface NettyConnectionInstrumenter { boolean shouldStart(Context parentContext, NettyConnectionRequest request); diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyConnectionInstrumenterImpl.java b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettyConnectionInstrumenterImpl.java similarity index 93% rename from instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyConnectionInstrumenterImpl.java rename to instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettyConnectionInstrumenterImpl.java index 3f45f7aac9..7c9f77f6bd 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyConnectionInstrumenterImpl.java +++ b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettyConnectionInstrumenterImpl.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.netty.v4.common.client; +package io.opentelemetry.instrumentation.netty.v4.common.internal.client; import io.netty.channel.Channel; import io.opentelemetry.context.Context; diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyErrorOnlyConnectionInstrumenter.java b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettyErrorOnlyConnectionInstrumenter.java similarity index 95% rename from instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyErrorOnlyConnectionInstrumenter.java rename to instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettyErrorOnlyConnectionInstrumenter.java index 54dc112a68..5ffd126cc8 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyErrorOnlyConnectionInstrumenter.java +++ b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettyErrorOnlyConnectionInstrumenter.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.netty.v4.common.client; +package io.opentelemetry.instrumentation.netty.v4.common.internal.client; import io.netty.channel.Channel; import io.opentelemetry.context.Context; diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyHttpClientAttributesGetter.java b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettyHttpClientAttributesGetter.java similarity index 89% rename from instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyHttpClientAttributesGetter.java rename to instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettyHttpClientAttributesGetter.java index d29ed22319..782c3da4ac 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyHttpClientAttributesGetter.java +++ b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettyHttpClientAttributesGetter.java @@ -3,13 +3,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.netty.v4.common.client; +package io.opentelemetry.instrumentation.netty.v4.common.internal.client; -import static io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpSchemeUtil.getScheme; +import static io.opentelemetry.instrumentation.netty.v4.common.internal.HttpSchemeUtil.getScheme; import io.netty.handler.codec.http.HttpResponse; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpClientAttributesGetter; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpRequestAndChannel; +import io.opentelemetry.instrumentation.netty.v4.common.internal.HttpRequestAndChannel; import java.net.URI; import java.net.URISyntaxException; import java.util.List; diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyNetClientAttributesGetter.java b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettyNetClientAttributesGetter.java similarity index 90% rename from instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyNetClientAttributesGetter.java rename to instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettyNetClientAttributesGetter.java index c36b802de3..799453a98a 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettyNetClientAttributesGetter.java +++ b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettyNetClientAttributesGetter.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.netty.v4.common.client; +package io.opentelemetry.instrumentation.netty.v4.common.internal.client; import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NetTransportValues.IP_TCP; import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NetTransportValues.IP_UDP; @@ -11,7 +11,7 @@ import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NetTr import io.netty.channel.socket.DatagramChannel; import io.netty.handler.codec.http.HttpResponse; import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetClientAttributesGetter; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpRequestAndChannel; +import io.opentelemetry.instrumentation.netty.v4.common.internal.HttpRequestAndChannel; import java.net.InetSocketAddress; import java.net.SocketAddress; import javax.annotation.Nullable; diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslErrorOnlyInstrumenter.java b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettySslErrorOnlyInstrumenter.java similarity index 94% rename from instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslErrorOnlyInstrumenter.java rename to instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettySslErrorOnlyInstrumenter.java index 6a63c1452c..076954e52a 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslErrorOnlyInstrumenter.java +++ b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettySslErrorOnlyInstrumenter.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.netty.v4.common.client; +package io.opentelemetry.instrumentation.netty.v4.common.internal.client; import io.opentelemetry.context.Context; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslInstrumentationHandler.java b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettySslInstrumentationHandler.java similarity index 95% rename from instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslInstrumentationHandler.java rename to instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettySslInstrumentationHandler.java index 27abbd4d62..54c6fa19a1 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslInstrumentationHandler.java +++ b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettySslInstrumentationHandler.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.netty.v4.common.client; +package io.opentelemetry.instrumentation.netty.v4.common.internal.client; import io.netty.channel.ChannelDuplexHandler; import io.netty.channel.ChannelHandler; @@ -16,6 +16,10 @@ import java.lang.invoke.MethodHandles; import java.lang.invoke.MethodType; import java.net.SocketAddress; +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ // inspired by reactor-netty SslProvider.SslReadHandler public final class NettySslInstrumentationHandler extends ChannelDuplexHandler { diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslInstrumenter.java b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettySslInstrumenter.java similarity index 68% rename from instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslInstrumenter.java rename to instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettySslInstrumenter.java index c7943e16cd..556b63deda 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslInstrumenter.java +++ b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettySslInstrumenter.java @@ -3,11 +3,15 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.netty.v4.common.client; +package io.opentelemetry.instrumentation.netty.v4.common.internal.client; import io.opentelemetry.context.Context; import javax.annotation.Nullable; +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ public interface NettySslInstrumenter { boolean shouldStart(Context parentContext, NettySslRequest request); diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslInstrumenterImpl.java b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettySslInstrumenterImpl.java similarity index 92% rename from instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslInstrumenterImpl.java rename to instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettySslInstrumenterImpl.java index a3466eb0a8..f281140ef5 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslInstrumenterImpl.java +++ b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettySslInstrumenterImpl.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.netty.v4.common.client; +package io.opentelemetry.instrumentation.netty.v4.common.internal.client; import io.opentelemetry.context.Context; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslNetAttributesGetter.java b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettySslNetAttributesGetter.java similarity index 94% rename from instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslNetAttributesGetter.java rename to instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettySslNetAttributesGetter.java index a9462cb0da..cc6e715dd4 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslNetAttributesGetter.java +++ b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettySslNetAttributesGetter.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.netty.v4.common.client; +package io.opentelemetry.instrumentation.netty.v4.common.internal.client; import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NetTransportValues.IP_TCP; import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NetTransportValues.IP_UDP; diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslRequest.java b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettySslRequest.java similarity index 73% rename from instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslRequest.java rename to instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettySslRequest.java index 50a88887d2..738408e4f6 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/client/NettySslRequest.java +++ b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettySslRequest.java @@ -3,13 +3,17 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.netty.v4.common.client; +package io.opentelemetry.instrumentation.netty.v4.common.internal.client; import com.google.auto.value.AutoValue; import io.netty.channel.Channel; import java.net.SocketAddress; import javax.annotation.Nullable; +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ @AutoValue public abstract class NettySslRequest { diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/server/HttpRequestHeadersGetter.java b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/server/HttpRequestHeadersGetter.java similarity index 77% rename from instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/server/HttpRequestHeadersGetter.java rename to instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/server/HttpRequestHeadersGetter.java index b3966d784a..90e2b2384a 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/server/HttpRequestHeadersGetter.java +++ b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/server/HttpRequestHeadersGetter.java @@ -3,10 +3,10 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.netty.v4.common.server; +package io.opentelemetry.instrumentation.netty.v4.common.internal.server; import io.opentelemetry.context.propagation.TextMapGetter; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpRequestAndChannel; +import io.opentelemetry.instrumentation.netty.v4.common.internal.HttpRequestAndChannel; import javax.annotation.Nullable; enum HttpRequestHeadersGetter implements TextMapGetter { diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/server/NettyHttpServerAttributesGetter.java b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/server/NettyHttpServerAttributesGetter.java similarity index 86% rename from instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/server/NettyHttpServerAttributesGetter.java rename to instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/server/NettyHttpServerAttributesGetter.java index cc72b7d68d..67f1a20350 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/server/NettyHttpServerAttributesGetter.java +++ b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/server/NettyHttpServerAttributesGetter.java @@ -3,13 +3,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.netty.v4.common.server; +package io.opentelemetry.instrumentation.netty.v4.common.internal.server; -import static io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpSchemeUtil.getScheme; +import static io.opentelemetry.instrumentation.netty.v4.common.internal.HttpSchemeUtil.getScheme; import io.netty.handler.codec.http.HttpResponse; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpServerAttributesGetter; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpRequestAndChannel; +import io.opentelemetry.instrumentation.netty.v4.common.internal.HttpRequestAndChannel; import java.util.List; import javax.annotation.Nullable; diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/server/NettyNetServerAttributesGetter.java b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/server/NettyNetServerAttributesGetter.java similarity index 91% rename from instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/server/NettyNetServerAttributesGetter.java rename to instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/server/NettyNetServerAttributesGetter.java index d179254e8d..89e2a8fa08 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/server/NettyNetServerAttributesGetter.java +++ b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/server/NettyNetServerAttributesGetter.java @@ -3,14 +3,14 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.netty.v4.common.server; +package io.opentelemetry.instrumentation.netty.v4.common.internal.server; import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NetTransportValues.IP_TCP; import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NetTransportValues.IP_UDP; import io.netty.channel.socket.DatagramChannel; import io.opentelemetry.instrumentation.api.instrumenter.net.InetSocketAddressNetServerAttributesGetter; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpRequestAndChannel; +import io.opentelemetry.instrumentation.netty.v4.common.internal.HttpRequestAndChannel; import java.net.InetSocketAddress; import java.net.SocketAddress; import javax.annotation.Nullable; diff --git a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/server/NettyServerInstrumenterFactory.java b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/server/NettyServerInstrumenterFactory.java similarity index 77% rename from instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/server/NettyServerInstrumenterFactory.java rename to instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/server/NettyServerInstrumenterFactory.java index 6936794880..fa80394f3f 100644 --- a/instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4/common/server/NettyServerInstrumenterFactory.java +++ b/instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/server/NettyServerInstrumenterFactory.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.netty.v4.common.server; +package io.opentelemetry.instrumentation.netty.v4.common.internal.server; import io.netty.handler.codec.http.HttpResponse; import io.opentelemetry.api.GlobalOpenTelemetry; @@ -15,13 +15,19 @@ import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanNameExtrac import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanStatusExtractor; import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor; import io.opentelemetry.instrumentation.netty.common.internal.NettyErrorHolder; -import io.opentelemetry.javaagent.bootstrap.internal.CommonConfig; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpRequestAndChannel; +import io.opentelemetry.instrumentation.netty.v4.common.internal.HttpRequestAndChannel; +import java.util.List; +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ public final class NettyServerInstrumenterFactory { public static Instrumenter create( - String instrumentationName) { + String instrumentationName, + List capturedRequestHeaders, + List capturedResponseHeaders) { NettyHttpServerAttributesGetter httpAttributesGetter = new NettyHttpServerAttributesGetter(); @@ -32,8 +38,8 @@ public final class NettyServerInstrumenterFactory { .setSpanStatusExtractor(HttpSpanStatusExtractor.create(httpAttributesGetter)) .addAttributesExtractor( HttpServerAttributesExtractor.builder(httpAttributesGetter) - .setCapturedRequestHeaders(CommonConfig.get().getServerRequestHeaders()) - .setCapturedResponseHeaders(CommonConfig.get().getServerResponseHeaders()) + .setCapturedRequestHeaders(capturedRequestHeaders) + .setCapturedResponseHeaders(capturedResponseHeaders) .build()) .addAttributesExtractor( NetServerAttributesExtractor.create(new NettyNetServerAttributesGetter())) diff --git a/instrumentation/netty/netty-4.0/javaagent/build.gradle.kts b/instrumentation/netty/netty-4.0/javaagent/build.gradle.kts index 81de747126..09451d3cfd 100644 --- a/instrumentation/netty/netty-4.0/javaagent/build.gradle.kts +++ b/instrumentation/netty/netty-4.0/javaagent/build.gradle.kts @@ -26,6 +26,8 @@ muzzle { dependencies { library("io.netty:netty-codec-http:4.0.0.Final") implementation(project(":instrumentation:netty:netty-4-common:javaagent")) + implementation(project(":instrumentation:netty:netty-4-common:library")) + implementation(project(":instrumentation:netty:netty-common:library")) testInstrumentation(project(":instrumentation:netty:netty-3.8:javaagent")) testInstrumentation(project(":instrumentation:netty:netty-4.1:javaagent")) diff --git a/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/AbstractChannelHandlerContextInstrumentation.java b/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/AbstractChannelHandlerContextInstrumentation.java index a44a20852f..25c322ac64 100644 --- a/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/AbstractChannelHandlerContextInstrumentation.java +++ b/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/AbstractChannelHandlerContextInstrumentation.java @@ -15,9 +15,9 @@ import io.netty.channel.ChannelHandlerContext; import io.netty.util.Attribute; import io.opentelemetry.context.Context; import io.opentelemetry.instrumentation.netty.common.internal.NettyErrorHolder; +import io.opentelemetry.instrumentation.netty.v4.common.internal.HttpRequestAndChannel; import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation; import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpRequestAndChannel; import net.bytebuddy.asm.Advice; import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; diff --git a/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/AttributeKeys.java b/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/AttributeKeys.java index 43aba598d1..ad6fa7da80 100644 --- a/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/AttributeKeys.java +++ b/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/AttributeKeys.java @@ -8,7 +8,7 @@ package io.opentelemetry.javaagent.instrumentation.netty.v4_0; import io.netty.handler.codec.http.HttpResponse; import io.netty.util.AttributeKey; import io.opentelemetry.context.Context; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpRequestAndChannel; +import io.opentelemetry.instrumentation.netty.v4.common.internal.HttpRequestAndChannel; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; diff --git a/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/BootstrapInstrumentation.java b/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/BootstrapInstrumentation.java index 76b78c93de..e7260ed353 100644 --- a/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/BootstrapInstrumentation.java +++ b/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/BootstrapInstrumentation.java @@ -13,10 +13,10 @@ import io.netty.channel.ChannelPromise; import io.opentelemetry.context.Context; import io.opentelemetry.context.Scope; import io.opentelemetry.instrumentation.netty.common.internal.NettyConnectionRequest; +import io.opentelemetry.instrumentation.netty.v4.common.internal.client.ConnectionCompleteListener; import io.opentelemetry.javaagent.bootstrap.Java8BytecodeBridge; import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation; import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.client.ConnectionCompleteListener; import java.net.SocketAddress; import net.bytebuddy.asm.Advice; import net.bytebuddy.description.type.TypeDescription; diff --git a/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/NettyChannelPipelineInstrumentation.java b/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/NettyChannelPipelineInstrumentation.java index 9da556725c..f3dcd2eb46 100644 --- a/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/NettyChannelPipelineInstrumentation.java +++ b/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/NettyChannelPipelineInstrumentation.java @@ -20,10 +20,10 @@ import io.netty.handler.codec.http.HttpResponseDecoder; import io.netty.handler.codec.http.HttpResponseEncoder; import io.netty.handler.codec.http.HttpServerCodec; import io.opentelemetry.instrumentation.api.util.VirtualField; +import io.opentelemetry.instrumentation.netty.v4.common.internal.client.NettySslInstrumentationHandler; import io.opentelemetry.javaagent.bootstrap.CallDepth; import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer; import io.opentelemetry.javaagent.instrumentation.netty.v4.common.AbstractNettyChannelPipelineInstrumentation; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.client.NettySslInstrumentationHandler; import io.opentelemetry.javaagent.instrumentation.netty.v4_0.client.HttpClientRequestTracingHandler; import io.opentelemetry.javaagent.instrumentation.netty.v4_0.client.HttpClientResponseTracingHandler; import io.opentelemetry.javaagent.instrumentation.netty.v4_0.client.HttpClientTracingHandler; diff --git a/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/client/HttpClientRequestTracingHandler.java b/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/client/HttpClientRequestTracingHandler.java index 2c7506268e..c4b869cefa 100644 --- a/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/client/HttpClientRequestTracingHandler.java +++ b/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/client/HttpClientRequestTracingHandler.java @@ -14,7 +14,7 @@ import io.netty.handler.codec.http.HttpRequest; import io.netty.util.Attribute; import io.opentelemetry.context.Context; import io.opentelemetry.context.Scope; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpRequestAndChannel; +import io.opentelemetry.instrumentation.netty.v4.common.internal.HttpRequestAndChannel; import io.opentelemetry.javaagent.instrumentation.netty.v4_0.AttributeKeys; public class HttpClientRequestTracingHandler extends ChannelOutboundHandlerAdapter { diff --git a/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/client/HttpClientResponseTracingHandler.java b/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/client/HttpClientResponseTracingHandler.java index 10637bd7b9..c208aeef8e 100644 --- a/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/client/HttpClientResponseTracingHandler.java +++ b/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/client/HttpClientResponseTracingHandler.java @@ -15,7 +15,7 @@ import io.netty.handler.codec.http.LastHttpContent; import io.netty.util.Attribute; import io.opentelemetry.context.Context; import io.opentelemetry.context.Scope; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpRequestAndChannel; +import io.opentelemetry.instrumentation.netty.v4.common.internal.HttpRequestAndChannel; import io.opentelemetry.javaagent.instrumentation.netty.v4_0.AttributeKeys; public class HttpClientResponseTracingHandler extends ChannelInboundHandlerAdapter { diff --git a/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/client/NettyClientSingletons.java b/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/client/NettyClientSingletons.java index 3c7dc8e2d7..b356c8becc 100644 --- a/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/client/NettyClientSingletons.java +++ b/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/client/NettyClientSingletons.java @@ -7,12 +7,13 @@ package io.opentelemetry.javaagent.instrumentation.netty.v4_0.client; import io.netty.handler.codec.http.HttpResponse; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; +import io.opentelemetry.instrumentation.netty.v4.common.internal.HttpRequestAndChannel; +import io.opentelemetry.instrumentation.netty.v4.common.internal.client.NettyClientInstrumenterFactory; +import io.opentelemetry.instrumentation.netty.v4.common.internal.client.NettyConnectionInstrumenter; +import io.opentelemetry.instrumentation.netty.v4.common.internal.client.NettySslInstrumenter; +import io.opentelemetry.javaagent.bootstrap.internal.CommonConfig; import io.opentelemetry.javaagent.bootstrap.internal.DeprecatedConfigPropertyWarning; import io.opentelemetry.javaagent.bootstrap.internal.InstrumentationConfig; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpRequestAndChannel; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.client.NettyClientInstrumenterFactory; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.client.NettyConnectionInstrumenter; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.client.NettySslInstrumenter; public final class NettyClientSingletons { @@ -41,7 +42,12 @@ public final class NettyClientSingletons { static { NettyClientInstrumenterFactory factory = new NettyClientInstrumenterFactory( - "io.opentelemetry.netty-4.0", connectionTelemetryEnabled, sslTelemetryEnabled); + "io.opentelemetry.netty-4.0", + connectionTelemetryEnabled, + sslTelemetryEnabled, + CommonConfig.get().getClientRequestHeaders(), + CommonConfig.get().getClientResponseHeaders(), + CommonConfig.get().getPeerServiceMapping()); INSTRUMENTER = factory.createHttpInstrumenter(); CONNECTION_INSTRUMENTER = factory.createConnectionInstrumenter(); SSL_INSTRUMENTER = factory.createSslInstrumenter(); diff --git a/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/server/HttpServerRequestTracingHandler.java b/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/server/HttpServerRequestTracingHandler.java index 8c0dc12ed0..5cb9e73414 100644 --- a/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/server/HttpServerRequestTracingHandler.java +++ b/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/server/HttpServerRequestTracingHandler.java @@ -14,7 +14,7 @@ import io.netty.handler.codec.http.HttpRequest; import io.netty.util.Attribute; import io.opentelemetry.context.Context; import io.opentelemetry.context.Scope; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpRequestAndChannel; +import io.opentelemetry.instrumentation.netty.v4.common.internal.HttpRequestAndChannel; import io.opentelemetry.javaagent.instrumentation.netty.v4_0.AttributeKeys; public class HttpServerRequestTracingHandler extends ChannelInboundHandlerAdapter { diff --git a/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/server/HttpServerResponseTracingHandler.java b/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/server/HttpServerResponseTracingHandler.java index b62652bfdf..6aaa79208f 100644 --- a/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/server/HttpServerResponseTracingHandler.java +++ b/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/server/HttpServerResponseTracingHandler.java @@ -15,7 +15,7 @@ import io.netty.handler.codec.http.HttpResponse; import io.opentelemetry.context.Context; import io.opentelemetry.context.Scope; import io.opentelemetry.instrumentation.netty.common.internal.NettyErrorHolder; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpRequestAndChannel; +import io.opentelemetry.instrumentation.netty.v4.common.internal.HttpRequestAndChannel; import io.opentelemetry.javaagent.instrumentation.netty.v4_0.AttributeKeys; import javax.annotation.Nullable; diff --git a/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/server/NettyServerSingletons.java b/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/server/NettyServerSingletons.java index 3c7a791148..4e0a4ebb58 100644 --- a/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/server/NettyServerSingletons.java +++ b/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/server/NettyServerSingletons.java @@ -7,13 +7,17 @@ package io.opentelemetry.javaagent.instrumentation.netty.v4_0.server; import io.netty.handler.codec.http.HttpResponse; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpRequestAndChannel; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.server.NettyServerInstrumenterFactory; +import io.opentelemetry.instrumentation.netty.v4.common.internal.HttpRequestAndChannel; +import io.opentelemetry.instrumentation.netty.v4.common.internal.server.NettyServerInstrumenterFactory; +import io.opentelemetry.javaagent.bootstrap.internal.CommonConfig; public final class NettyServerSingletons { private static final Instrumenter INSTRUMENTER = - NettyServerInstrumenterFactory.create("io.opentelemetry.netty-4.0"); + NettyServerInstrumenterFactory.create( + "io.opentelemetry.netty-4.0", + CommonConfig.get().getServerRequestHeaders(), + CommonConfig.get().getServerResponseHeaders()); public static Instrumenter instrumenter() { return INSTRUMENTER; diff --git a/instrumentation/netty/netty-4.1/javaagent/build.gradle.kts b/instrumentation/netty/netty-4.1/javaagent/build.gradle.kts index 18b4a3181f..a35ce85ec4 100644 --- a/instrumentation/netty/netty-4.1/javaagent/build.gradle.kts +++ b/instrumentation/netty/netty-4.1/javaagent/build.gradle.kts @@ -25,7 +25,9 @@ muzzle { dependencies { library("io.netty:netty-codec-http:4.1.0.Final") - api(project(":instrumentation:netty:netty-4-common:javaagent")) + implementation(project(":instrumentation:netty:netty-4-common:javaagent")) + implementation(project(":instrumentation:netty:netty-4-common:library")) + implementation(project(":instrumentation:netty:netty-common:library")) testInstrumentation(project(":instrumentation:netty:netty-3.8:javaagent")) testInstrumentation(project(":instrumentation:netty:netty-4.0:javaagent")) diff --git a/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/AbstractChannelHandlerContextInstrumentation.java b/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/AbstractChannelHandlerContextInstrumentation.java index 256b6593a8..3b4256bdae 100644 --- a/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/AbstractChannelHandlerContextInstrumentation.java +++ b/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/AbstractChannelHandlerContextInstrumentation.java @@ -14,9 +14,9 @@ import io.netty.channel.ChannelHandlerContext; import io.netty.util.Attribute; import io.opentelemetry.context.Context; import io.opentelemetry.instrumentation.netty.common.internal.NettyErrorHolder; +import io.opentelemetry.instrumentation.netty.v4.common.internal.HttpRequestAndChannel; import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation; import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpRequestAndChannel; import io.opentelemetry.javaagent.instrumentation.netty.v4_1.client.NettyClientSingletons; import net.bytebuddy.asm.Advice; import net.bytebuddy.description.type.TypeDescription; diff --git a/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/BootstrapInstrumentation.java b/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/BootstrapInstrumentation.java index a1c4120f25..3cc065a750 100644 --- a/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/BootstrapInstrumentation.java +++ b/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/BootstrapInstrumentation.java @@ -18,10 +18,10 @@ import io.netty.resolver.DefaultAddressResolverGroup; import io.opentelemetry.context.Context; import io.opentelemetry.context.Scope; import io.opentelemetry.instrumentation.netty.common.internal.NettyConnectionRequest; +import io.opentelemetry.instrumentation.netty.v4.common.internal.client.ConnectionCompleteListener; import io.opentelemetry.javaagent.bootstrap.Java8BytecodeBridge; import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation; import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.client.ConnectionCompleteListener; import java.net.SocketAddress; import net.bytebuddy.asm.Advice; import net.bytebuddy.description.type.TypeDescription; diff --git a/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/InstrumentedAddressResolverGroup.java b/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/InstrumentedAddressResolverGroup.java index e1bc4c9488..f2eed8a95c 100644 --- a/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/InstrumentedAddressResolverGroup.java +++ b/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/InstrumentedAddressResolverGroup.java @@ -12,7 +12,7 @@ import io.netty.util.concurrent.Future; import io.netty.util.concurrent.Promise; import io.opentelemetry.context.Context; import io.opentelemetry.instrumentation.netty.common.internal.NettyConnectionRequest; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.client.NettyConnectionInstrumenter; +import io.opentelemetry.instrumentation.netty.v4.common.internal.client.NettyConnectionInstrumenter; import java.net.SocketAddress; import java.util.List; import java.util.function.Supplier; diff --git a/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/NettyChannelPipelineInstrumentation.java b/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/NettyChannelPipelineInstrumentation.java index 3e2414ec07..a1fad6bd4a 100644 --- a/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/NettyChannelPipelineInstrumentation.java +++ b/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/NettyChannelPipelineInstrumentation.java @@ -21,10 +21,10 @@ import io.netty.handler.codec.http.HttpResponseDecoder; import io.netty.handler.codec.http.HttpResponseEncoder; import io.netty.handler.codec.http.HttpServerCodec; import io.opentelemetry.instrumentation.api.util.VirtualField; +import io.opentelemetry.instrumentation.netty.v4.common.internal.client.NettySslInstrumentationHandler; import io.opentelemetry.javaagent.bootstrap.CallDepth; import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer; import io.opentelemetry.javaagent.instrumentation.netty.v4.common.AbstractNettyChannelPipelineInstrumentation; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.client.NettySslInstrumentationHandler; import io.opentelemetry.javaagent.instrumentation.netty.v4_1.client.HttpClientRequestTracingHandler; import io.opentelemetry.javaagent.instrumentation.netty.v4_1.client.HttpClientResponseTracingHandler; import io.opentelemetry.javaagent.instrumentation.netty.v4_1.client.HttpClientTracingHandler; diff --git a/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/client/HttpClientRequestTracingHandler.java b/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/client/HttpClientRequestTracingHandler.java index 73682c22ca..a18484d9f0 100644 --- a/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/client/HttpClientRequestTracingHandler.java +++ b/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/client/HttpClientRequestTracingHandler.java @@ -15,7 +15,7 @@ import io.netty.handler.codec.http.HttpRequest; import io.netty.util.Attribute; import io.opentelemetry.context.Context; import io.opentelemetry.context.Scope; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpRequestAndChannel; +import io.opentelemetry.instrumentation.netty.v4.common.internal.HttpRequestAndChannel; import io.opentelemetry.javaagent.instrumentation.netty.v4_1.AttributeKeys; public class HttpClientRequestTracingHandler extends ChannelOutboundHandlerAdapter { diff --git a/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/client/HttpClientResponseTracingHandler.java b/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/client/HttpClientResponseTracingHandler.java index 98c91bad61..010ef1b790 100644 --- a/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/client/HttpClientResponseTracingHandler.java +++ b/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/client/HttpClientResponseTracingHandler.java @@ -16,7 +16,7 @@ import io.netty.handler.codec.http.LastHttpContent; import io.netty.util.Attribute; import io.opentelemetry.context.Context; import io.opentelemetry.context.Scope; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpRequestAndChannel; +import io.opentelemetry.instrumentation.netty.v4.common.internal.HttpRequestAndChannel; import io.opentelemetry.javaagent.instrumentation.netty.v4_1.AttributeKeys; public class HttpClientResponseTracingHandler extends ChannelInboundHandlerAdapter { diff --git a/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/client/NettyClientSingletons.java b/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/client/NettyClientSingletons.java index d64875bfb6..6a8f28e018 100644 --- a/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/client/NettyClientSingletons.java +++ b/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/client/NettyClientSingletons.java @@ -8,12 +8,13 @@ package io.opentelemetry.javaagent.instrumentation.netty.v4_1.client; import io.netty.handler.codec.http.HttpResponse; import io.netty.util.AttributeKey; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; +import io.opentelemetry.instrumentation.netty.v4.common.internal.HttpRequestAndChannel; +import io.opentelemetry.instrumentation.netty.v4.common.internal.client.NettyClientInstrumenterFactory; +import io.opentelemetry.instrumentation.netty.v4.common.internal.client.NettyConnectionInstrumenter; +import io.opentelemetry.instrumentation.netty.v4.common.internal.client.NettySslInstrumenter; +import io.opentelemetry.javaagent.bootstrap.internal.CommonConfig; import io.opentelemetry.javaagent.bootstrap.internal.DeprecatedConfigPropertyWarning; import io.opentelemetry.javaagent.bootstrap.internal.InstrumentationConfig; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpRequestAndChannel; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.client.NettyClientInstrumenterFactory; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.client.NettyConnectionInstrumenter; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.client.NettySslInstrumenter; public final class NettyClientSingletons { @@ -47,7 +48,12 @@ public final class NettyClientSingletons { static { NettyClientInstrumenterFactory factory = new NettyClientInstrumenterFactory( - "io.opentelemetry.netty-4.1", connectionTelemetryEnabled, sslTelemetryEnabled); + "io.opentelemetry.netty-4.1", + connectionTelemetryEnabled, + sslTelemetryEnabled, + CommonConfig.get().getClientRequestHeaders(), + CommonConfig.get().getClientResponseHeaders(), + CommonConfig.get().getPeerServiceMapping()); INSTRUMENTER = factory.createHttpInstrumenter(); CONNECTION_INSTRUMENTER = factory.createConnectionInstrumenter(); SSL_INSTRUMENTER = factory.createSslInstrumenter(); diff --git a/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/server/HttpServerRequestTracingHandler.java b/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/server/HttpServerRequestTracingHandler.java index 4ae4e24ca1..a06fd35580 100644 --- a/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/server/HttpServerRequestTracingHandler.java +++ b/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/server/HttpServerRequestTracingHandler.java @@ -14,7 +14,7 @@ import io.netty.handler.codec.http.HttpRequest; import io.netty.util.Attribute; import io.opentelemetry.context.Context; import io.opentelemetry.context.Scope; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpRequestAndChannel; +import io.opentelemetry.instrumentation.netty.v4.common.internal.HttpRequestAndChannel; import io.opentelemetry.javaagent.instrumentation.netty.v4_1.AttributeKeys; public class HttpServerRequestTracingHandler extends ChannelInboundHandlerAdapter { diff --git a/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/server/HttpServerResponseTracingHandler.java b/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/server/HttpServerResponseTracingHandler.java index 034ada4d05..81079e9de1 100644 --- a/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/server/HttpServerResponseTracingHandler.java +++ b/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/server/HttpServerResponseTracingHandler.java @@ -19,7 +19,7 @@ import io.netty.util.Attribute; import io.opentelemetry.context.Context; import io.opentelemetry.context.Scope; import io.opentelemetry.instrumentation.netty.common.internal.NettyErrorHolder; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpRequestAndChannel; +import io.opentelemetry.instrumentation.netty.v4.common.internal.HttpRequestAndChannel; import io.opentelemetry.javaagent.instrumentation.netty.v4_1.AttributeKeys; import javax.annotation.Nullable; diff --git a/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/server/NettyServerSingletons.java b/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/server/NettyServerSingletons.java index e1801523da..0926b5866d 100644 --- a/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/server/NettyServerSingletons.java +++ b/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/server/NettyServerSingletons.java @@ -8,8 +8,9 @@ package io.opentelemetry.javaagent.instrumentation.netty.v4_1.server; import io.netty.handler.codec.http.HttpResponse; import io.netty.util.AttributeKey; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.HttpRequestAndChannel; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.server.NettyServerInstrumenterFactory; +import io.opentelemetry.instrumentation.netty.v4.common.internal.HttpRequestAndChannel; +import io.opentelemetry.instrumentation.netty.v4.common.internal.server.NettyServerInstrumenterFactory; +import io.opentelemetry.javaagent.bootstrap.internal.CommonConfig; public final class NettyServerSingletons { @@ -19,7 +20,10 @@ public final class NettyServerSingletons { AttributeKey.valueOf(NettyServerSingletons.class, "http-server-response"); private static final Instrumenter INSTRUMENTER = - NettyServerInstrumenterFactory.create("io.opentelemetry.netty-4.1"); + NettyServerInstrumenterFactory.create( + "io.opentelemetry.netty-4.1", + CommonConfig.get().getServerRequestHeaders(), + CommonConfig.get().getServerResponseHeaders()); public static Instrumenter instrumenter() { return INSTRUMENTER; diff --git a/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/build.gradle.kts b/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/build.gradle.kts index 4caeedc2a0..490b00ea2f 100644 --- a/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/build.gradle.kts +++ b/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/build.gradle.kts @@ -24,6 +24,8 @@ dependencies { annotationProcessor("com.google.auto.value:auto-value") implementation(project(":instrumentation:netty:netty-4.1:javaagent")) + implementation(project(":instrumentation:netty:netty-4-common:library")) + implementation(project(":instrumentation:netty:netty-common:library")) implementation(project(":instrumentation:reactor:reactor-3.1:library")) library("io.projectreactor.netty:reactor-netty-http:1.0.0") diff --git a/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettySingletons.java b/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettySingletons.java index d4525091a1..3a95b968ae 100644 --- a/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettySingletons.java +++ b/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettySingletons.java @@ -14,11 +14,11 @@ import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanNameExtrac import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanStatusExtractor; import io.opentelemetry.instrumentation.api.instrumenter.net.NetClientAttributesExtractor; import io.opentelemetry.instrumentation.api.instrumenter.net.PeerServiceAttributesExtractor; +import io.opentelemetry.instrumentation.netty.v4.common.internal.client.NettyClientInstrumenterFactory; +import io.opentelemetry.instrumentation.netty.v4.common.internal.client.NettyConnectionInstrumenter; import io.opentelemetry.javaagent.bootstrap.internal.CommonConfig; import io.opentelemetry.javaagent.bootstrap.internal.DeprecatedConfigPropertyWarning; import io.opentelemetry.javaagent.bootstrap.internal.InstrumentationConfig; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.client.NettyClientInstrumenterFactory; -import io.opentelemetry.javaagent.instrumentation.netty.v4.common.client.NettyConnectionInstrumenter; import reactor.netty.http.client.HttpClientConfig; import reactor.netty.http.client.HttpClientResponse; @@ -71,7 +71,13 @@ public final class ReactorNettySingletons { .buildInstrumenter(SpanKindExtractor.alwaysClient()); NettyClientInstrumenterFactory instrumenterFactory = - new NettyClientInstrumenterFactory(INSTRUMENTATION_NAME, connectionTelemetryEnabled, false); + new NettyClientInstrumenterFactory( + INSTRUMENTATION_NAME, + connectionTelemetryEnabled, + false, + CommonConfig.get().getClientRequestHeaders(), + CommonConfig.get().getClientResponseHeaders(), + CommonConfig.get().getPeerServiceMapping()); CONNECTION_INSTRUMENTER = instrumenterFactory.createConnectionInstrumenter(); } diff --git a/settings.gradle.kts b/settings.gradle.kts index 39913edfed..6f43d2e176 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -352,6 +352,7 @@ include(":instrumentation:netty:netty-3.8:javaagent") include(":instrumentation:netty:netty-4.0:javaagent") include(":instrumentation:netty:netty-4.1:javaagent") include(":instrumentation:netty:netty-4-common:javaagent") +include(":instrumentation:netty:netty-4-common:library") include(":instrumentation:netty:netty-common:library") include(":instrumentation:okhttp:okhttp-2.2:javaagent") include(":instrumentation:okhttp:okhttp-3.0:javaagent")