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.
This commit is contained in:
parent
891ec8c491
commit
1fcea2017b
|
@ -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")
|
||||
}
|
||||
|
|
|
@ -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")
|
||||
}
|
|
@ -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 {
|
||||
|
|
@ -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<? extends ChannelHandler> sslHandlerClass = getSslHandlerClass();
|
|
@ -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<Future<Void>> {
|
||||
private final NettyConnectionInstrumenter instrumenter;
|
||||
private final Context context;
|
|
@ -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<HttpRequestAndChannel> {
|
||||
INSTANCE;
|
|
@ -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<String> capturedRequestHeaders;
|
||||
private final List<String> capturedResponseHeaders;
|
||||
private final Map<String, String> peerServiceMapping;
|
||||
|
||||
public NettyClientInstrumenterFactory(
|
||||
String instrumentationName, boolean connectionTelemetryEnabled, boolean sslTelemetryEnabled) {
|
||||
String instrumentationName,
|
||||
boolean connectionTelemetryEnabled,
|
||||
boolean sslTelemetryEnabled,
|
||||
List<String> capturedRequestHeaders,
|
||||
List<String> capturedResponseHeaders,
|
||||
Map<String, String> peerServiceMapping) {
|
||||
this.instrumentationName = instrumentationName;
|
||||
this.connectionTelemetryEnabled = connectionTelemetryEnabled;
|
||||
this.sslTelemetryEnabled = sslTelemetryEnabled;
|
||||
this.capturedRequestHeaders = capturedRequestHeaders;
|
||||
this.capturedResponseHeaders = capturedResponseHeaders;
|
||||
this.peerServiceMapping = peerServiceMapping;
|
||||
}
|
||||
|
||||
public Instrumenter<HttpRequestAndChannel, HttpResponse> 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()
|
|
@ -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;
|
|
@ -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);
|
|
@ -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;
|
|
@ -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;
|
|
@ -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;
|
|
@ -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;
|
|
@ -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;
|
|
@ -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 {
|
||||
|
|
@ -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);
|
|
@ -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;
|
|
@ -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;
|
|
@ -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 {
|
||||
|
|
@ -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<HttpRequestAndChannel> {
|
|
@ -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;
|
||||
|
|
@ -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;
|
|
@ -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<HttpRequestAndChannel, HttpResponse> create(
|
||||
String instrumentationName) {
|
||||
String instrumentationName,
|
||||
List<String> capturedRequestHeaders,
|
||||
List<String> 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()))
|
|
@ -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"))
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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<HttpRequestAndChannel, HttpResponse> INSTRUMENTER =
|
||||
NettyServerInstrumenterFactory.create("io.opentelemetry.netty-4.0");
|
||||
NettyServerInstrumenterFactory.create(
|
||||
"io.opentelemetry.netty-4.0",
|
||||
CommonConfig.get().getServerRequestHeaders(),
|
||||
CommonConfig.get().getServerResponseHeaders());
|
||||
|
||||
public static Instrumenter<HttpRequestAndChannel, HttpResponse> instrumenter() {
|
||||
return INSTRUMENTER;
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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<HttpRequestAndChannel, HttpResponse> INSTRUMENTER =
|
||||
NettyServerInstrumenterFactory.create("io.opentelemetry.netty-4.1");
|
||||
NettyServerInstrumenterFactory.create(
|
||||
"io.opentelemetry.netty-4.1",
|
||||
CommonConfig.get().getServerRequestHeaders(),
|
||||
CommonConfig.get().getServerResponseHeaders());
|
||||
|
||||
public static Instrumenter<HttpRequestAndChannel, HttpResponse> instrumenter() {
|
||||
return INSTRUMENTER;
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
@ -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")
|
||||
|
|
Loading…
Reference in New Issue