netty-4.1 muzzle

This commit is contained in:
Andrew Kent 2018-08-29 17:14:28 -07:00
parent 61aaebfc97
commit 18ed9ee151
4 changed files with 31 additions and 26 deletions

View File

@ -38,7 +38,14 @@ public class ChannelFutureListenerInstrumentation extends Instrumenter.Default {
@Override @Override
public String[] helperClassNames() { 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 @Override

View File

@ -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" 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' apply plugin: 'org.unbroken-dome.test-sets'
testSets { testSets {

View File

@ -1,7 +1,6 @@
package datadog.trace.instrumentation.netty41; package datadog.trace.instrumentation.netty41;
import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasSuperType; 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 io.opentracing.log.Fields.ERROR_OBJECT;
import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isInterface;
import static net.bytebuddy.matcher.ElementMatchers.isMethod; import static net.bytebuddy.matcher.ElementMatchers.isMethod;
@ -37,14 +36,16 @@ public class ChannelFutureListenerInstrumentation extends Instrumenter.Default {
.and(safeHasSuperType(named("io.netty.channel.ChannelFutureListener"))); .and(safeHasSuperType(named("io.netty.channel.ChannelFutureListener")));
} }
@Override
public ElementMatcher<ClassLoader> classLoaderMatcher() {
return classLoaderHasClasses("io.netty.handler.codec.http.HttpHeaderValues");
}
@Override @Override
public String[] helperClassNames() { 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 @Override

View File

@ -1,7 +1,6 @@
package datadog.trace.instrumentation.netty41; package datadog.trace.instrumentation.netty41;
import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasSuperType; 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.isInterface;
import static net.bytebuddy.matcher.ElementMatchers.isMethod; import static net.bytebuddy.matcher.ElementMatchers.isMethod;
import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; 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"))); return not(isInterface()).and(safeHasSuperType(named("io.netty.channel.ChannelPipeline")));
} }
@Override
public ElementMatcher<ClassLoader> classLoaderMatcher() {
return classLoaderHasClasses("io.netty.handler.codec.http.HttpHeaderValues");
}
@Override @Override
public String[] helperClassNames() { public String[] helperClassNames() {
return new String[] { return new String[] {