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 580d6bde2959..280be5ee672b 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,7 +15,6 @@ import io.opentelemetry.context.Context; import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation; import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer; -import io.opentelemetry.javaagent.instrumentation.api.Java8BytecodeBridge; import io.opentelemetry.javaagent.instrumentation.netty.v4_0.client.NettyHttpClientTracer; import io.opentelemetry.javaagent.instrumentation.netty.v4_0.server.NettyHttpServerTracer; import net.bytebuddy.asm.Advice; @@ -49,16 +48,18 @@ public static class InvokeExceptionCaughtAdvice { public static void onEnter( @Advice.This ChannelHandlerContext channelContext, @Advice.Argument(0) Throwable throwable) { - if (throwable != null) { - Attribute clientContextAttr = - channelContext.channel().attr(AttributeKeys.CLIENT_CONTEXT); - Context context = clientContextAttr.get(); - if (context != null) { - NettyHttpClientTracer.tracer().endExceptionally(context, throwable); - } else { - NettyHttpServerTracer.tracer() - .onException(Java8BytecodeBridge.currentContext(), throwable); - } + Attribute clientContextAttr = + channelContext.channel().attr(AttributeKeys.CLIENT_CONTEXT); + Context clientContext = clientContextAttr.get(); + if (clientContext != null) { + NettyHttpClientTracer.tracer().endExceptionally(clientContext, throwable); + return; + } + Attribute serverContextAttr = + channelContext.channel().attr(AttributeKeys.SERVER_CONTEXT); + Context serverContext = serverContextAttr.get(); + if (serverContext != null) { + NettyHttpServerTracer.tracer().onException(serverContext, throwable); } } } 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 70547a6b0c9c..22df1bee415c 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 @@ -24,8 +24,8 @@ protected ConcurrentMap> computeValue(Class type) { attributeKey(AttributeKeys.class.getName() + ".write-context"); // this is the context that has the server span - public static final AttributeKey SERVER_SPAN = - attributeKey(AttributeKeys.class.getName() + ".server-span"); + public static final AttributeKey SERVER_CONTEXT = + attributeKey(AttributeKeys.class.getName() + ".server-context"); public static final AttributeKey CLIENT_CONTEXT = attributeKey(AttributeKeys.class.getName() + ".client-context"); diff --git a/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/server/NettyHttpServerTracer.java b/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/server/NettyHttpServerTracer.java index 033f7b7a86bd..7399f707d9ca 100644 --- a/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/server/NettyHttpServerTracer.java +++ b/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/server/NettyHttpServerTracer.java @@ -43,12 +43,12 @@ protected int responseStatus(HttpResponse httpResponse) { @Override protected void attachServerContext(Context context, Channel channel) { - channel.attr(AttributeKeys.SERVER_SPAN).set(context); + channel.attr(AttributeKeys.SERVER_CONTEXT).set(context); } @Override public Context getServerContext(Channel channel) { - return channel.attr(AttributeKeys.SERVER_SPAN).get(); + return channel.attr(AttributeKeys.SERVER_CONTEXT).get(); } @Override 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 4e61e6bf708b..9a17f6337325 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 @@ -15,9 +15,7 @@ import io.opentelemetry.instrumentation.netty.v4_1.AttributeKeys; import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation; import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer; -import io.opentelemetry.javaagent.instrumentation.api.Java8BytecodeBridge; import io.opentelemetry.javaagent.instrumentation.netty.v4_1.client.NettyHttpClientTracer; -import io.opentelemetry.javaagent.instrumentation.netty.v4_1.server.NettyHttpServerTracer; import net.bytebuddy.asm.Advice; import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @@ -46,15 +44,14 @@ public static class InvokeExceptionCaughtAdvice { public static void onEnter( @Advice.This ChannelHandlerContext channelContext, @Advice.Argument(0) Throwable throwable) { - if (throwable != null) { - if (channelContext.channel().hasAttr(AttributeKeys.CLIENT_CONTEXT)) { - Attribute clientContextAttr = - channelContext.channel().attr(AttributeKeys.CLIENT_CONTEXT); - NettyHttpClientTracer.tracer().endExceptionally(clientContextAttr.get(), throwable); - } else { - NettyHttpServerTracer.tracer() - .onException(Java8BytecodeBridge.currentContext(), throwable); - } + if (channelContext.channel().hasAttr(AttributeKeys.CLIENT_CONTEXT)) { + Attribute clientContextAttr = + channelContext.channel().attr(AttributeKeys.CLIENT_CONTEXT); + NettyHttpClientTracer.tracer().endExceptionally(clientContextAttr.get(), throwable); + } else if (channelContext.channel().hasAttr(AttributeKeys.SERVER_CONTEXT)) { + Attribute serverContextAttr = + channelContext.channel().attr(AttributeKeys.SERVER_CONTEXT); + NettyHttpClientTracer.tracer().onException(serverContextAttr.get(), throwable); } } } diff --git a/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/server/NettyHttpServerTracer.java b/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/server/NettyHttpServerTracer.java index 81e085452a60..d70453df0cab 100644 --- a/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/server/NettyHttpServerTracer.java +++ b/instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/server/NettyHttpServerTracer.java @@ -43,12 +43,12 @@ protected int responseStatus(HttpResponse httpResponse) { @Override protected void attachServerContext(Context context, Channel channel) { - channel.attr(AttributeKeys.SERVER_SPAN).set(context); + channel.attr(AttributeKeys.SERVER_CONTEXT).set(context); } @Override public Context getServerContext(Channel channel) { - return channel.attr(AttributeKeys.SERVER_SPAN).get(); + return channel.attr(AttributeKeys.SERVER_CONTEXT).get(); } @Override diff --git a/instrumentation/netty/netty-4.1/library/src/main/java/io/opentelemetry/instrumentation/netty/v4_1/AttributeKeys.java b/instrumentation/netty/netty-4.1/library/src/main/java/io/opentelemetry/instrumentation/netty/v4_1/AttributeKeys.java index 83b3bda6ac29..068548dc6dc8 100644 --- a/instrumentation/netty/netty-4.1/library/src/main/java/io/opentelemetry/instrumentation/netty/v4_1/AttributeKeys.java +++ b/instrumentation/netty/netty-4.1/library/src/main/java/io/opentelemetry/instrumentation/netty/v4_1/AttributeKeys.java @@ -16,7 +16,7 @@ public final class AttributeKeys { // this is the context that has the server span // // note: this attribute key is also used by ratpack instrumentation - public static final AttributeKey SERVER_SPAN = + public static final AttributeKey SERVER_CONTEXT = AttributeKey.valueOf(AttributeKeys.class, "server-span"); public static final AttributeKey CLIENT_CONTEXT = diff --git a/instrumentation/ratpack-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/ratpack/TracingHandler.java b/instrumentation/ratpack-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/ratpack/TracingHandler.java index d52fec8db171..d736a11f031e 100644 --- a/instrumentation/ratpack-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/ratpack/TracingHandler.java +++ b/instrumentation/ratpack-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/ratpack/TracingHandler.java @@ -21,7 +21,7 @@ public final class TracingHandler implements Handler { @Override public void handle(Context ctx) { Attribute spanAttribute = - ctx.getDirectChannelAccess().getChannel().attr(AttributeKeys.SERVER_SPAN); + ctx.getDirectChannelAccess().getChannel().attr(AttributeKeys.SERVER_CONTEXT); io.opentelemetry.context.Context serverSpanContext = spanAttribute.get(); // Must use context from channel, as executor instrumentation is not accurate - Ratpack