From 18ed9ee1516fa048ce70a6ed4101a58903ea52cb Mon Sep 17 00:00:00 2001 From: Andrew Kent Date: Wed, 29 Aug 2018 17:14:28 -0700 Subject: [PATCH] netty-4.1 muzzle --- .../ChannelFutureListenerInstrumentation.java | 9 ++++++- .../netty-4.1/netty-4.1.gradle | 27 ++++++++++--------- .../ChannelFutureListenerInstrumentation.java | 15 ++++++----- .../NettyChannelPipelineInstrumentation.java | 6 ----- 4 files changed, 31 insertions(+), 26 deletions(-) diff --git a/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/ChannelFutureListenerInstrumentation.java b/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/ChannelFutureListenerInstrumentation.java index 5932001a3b..d62653f02f 100644 --- a/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/ChannelFutureListenerInstrumentation.java +++ b/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/ChannelFutureListenerInstrumentation.java @@ -38,7 +38,14 @@ public class ChannelFutureListenerInstrumentation extends Instrumenter.Default { @Override public String[] helperClassNames() { - return new String[] {packageName + ".AttributeKeys"}; + return new String[] { + packageName + ".AttributeKeys", + // server helpers + packageName + ".server.NettyRequestExtractAdapter", + packageName + ".server.HttpServerRequestTracingHandler", + packageName + ".server.HttpServerResponseTracingHandler", + packageName + ".server.HttpServerTracingHandler" + }; } @Override diff --git a/dd-java-agent/instrumentation/netty-4.1/netty-4.1.gradle b/dd-java-agent/instrumentation/netty-4.1/netty-4.1.gradle index 562145ebcb..54b3acd811 100644 --- a/dd-java-agent/instrumentation/netty-4.1/netty-4.1.gradle +++ b/dd-java-agent/instrumentation/netty-4.1/netty-4.1.gradle @@ -1,17 +1,20 @@ -apply plugin: 'version-scan' - -versionScan { - group = "io.netty" - module = "netty-codec-http" - legacyModule = "netty" - versions = "[4.1.0.Final,)" - verifyPresent = [ - "io.netty.handler.codec.http.HttpHeaderValues": null, - ] -} - apply from: "${rootDir}/gradle/java.gradle" +muzzle { + pass { + group = "io.netty" + module = "netty-codec-http" + versions = "[4.1.0.Final,)" + assertInverse = true + } + pass { + group = "io.netty" + module = "netty" + versions = "[4.1.0.Final,)" + assertInverse = true + } +} + apply plugin: 'org.unbroken-dome.test-sets' testSets { diff --git a/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/ChannelFutureListenerInstrumentation.java b/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/ChannelFutureListenerInstrumentation.java index a7763bb096..9af8c166bf 100644 --- a/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/ChannelFutureListenerInstrumentation.java +++ b/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/ChannelFutureListenerInstrumentation.java @@ -1,7 +1,6 @@ package datadog.trace.instrumentation.netty41; import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasSuperType; -import static datadog.trace.agent.tooling.ClassLoaderMatcher.classLoaderHasClasses; import static io.opentracing.log.Fields.ERROR_OBJECT; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; @@ -37,14 +36,16 @@ public class ChannelFutureListenerInstrumentation extends Instrumenter.Default { .and(safeHasSuperType(named("io.netty.channel.ChannelFutureListener"))); } - @Override - public ElementMatcher classLoaderMatcher() { - return classLoaderHasClasses("io.netty.handler.codec.http.HttpHeaderValues"); - } - @Override public String[] helperClassNames() { - return new String[] {packageName + ".AttributeKeys"}; + return new String[] { + packageName + ".AttributeKeys", + // server helpers + packageName + ".server.NettyRequestExtractAdapter", + packageName + ".server.HttpServerRequestTracingHandler", + packageName + ".server.HttpServerResponseTracingHandler", + packageName + ".server.HttpServerTracingHandler" + }; } @Override diff --git a/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/NettyChannelPipelineInstrumentation.java b/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/NettyChannelPipelineInstrumentation.java index c84d414d54..13bc4c0b1c 100644 --- a/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/NettyChannelPipelineInstrumentation.java +++ b/dd-java-agent/instrumentation/netty-4.1/src/main/java/datadog/trace/instrumentation/netty41/NettyChannelPipelineInstrumentation.java @@ -1,7 +1,6 @@ package datadog.trace.instrumentation.netty41; import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasSuperType; -import static datadog.trace.agent.tooling.ClassLoaderMatcher.classLoaderHasClasses; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; @@ -48,11 +47,6 @@ public class NettyChannelPipelineInstrumentation extends Instrumenter.Default { return not(isInterface()).and(safeHasSuperType(named("io.netty.channel.ChannelPipeline"))); } - @Override - public ElementMatcher classLoaderMatcher() { - return classLoaderHasClasses("io.netty.handler.codec.http.HttpHeaderValues"); - } - @Override public String[] helperClassNames() { return new String[] {