Merge pull request #509 from DataDog/gary/muzzle-spy-memcached

Muzzle Spymemcached
This commit is contained in:
Gary Huang 2018-09-27 22:44:56 -04:00 committed by GitHub
commit 7ecc49a228
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 20 deletions

View File

@ -1,13 +1,12 @@
apply plugin: 'version-scan' // building and testing against 2.12 because setListenerExecutorService exists to facilitate easier
// testing. Instrumentation should work since 2.10
versionScan { muzzle {
group = "net.spy" pass {
module = 'spymemcached' group = "net.spy"
versions = "[1.12.0,)" module = 'spymemcached'
scanMethods = true versions = "[2.10.0,)"
verifyPresent = [ assertInverse = true
"net.spy.memcached.ConnectionFactoryBuilder": "setListenerExecutorService", }
]
} }
apply from: "${rootDir}/gradle/java.gradle" apply from: "${rootDir}/gradle/java.gradle"

View File

@ -1,6 +1,5 @@
package datadog.trace.instrumentation.spymemcached; package datadog.trace.instrumentation.spymemcached;
import static datadog.trace.agent.tooling.ClassLoaderMatcher.classLoaderHasClassWithMethod;
import static net.bytebuddy.matcher.ElementMatchers.isMethod; import static net.bytebuddy.matcher.ElementMatchers.isMethod;
import static net.bytebuddy.matcher.ElementMatchers.isPublic; import static net.bytebuddy.matcher.ElementMatchers.isPublic;
import static net.bytebuddy.matcher.ElementMatchers.named; import static net.bytebuddy.matcher.ElementMatchers.named;
@ -38,15 +37,6 @@ public final class MemcachedClientInstrumentation extends Instrumenter.Default {
return named(MEMCACHED_PACKAGE + ".MemcachedClient"); return named(MEMCACHED_PACKAGE + ".MemcachedClient");
} }
@Override
public ElementMatcher<ClassLoader> classLoaderMatcher() {
// Target 2.12 that has this method
return classLoaderHasClassWithMethod(
MEMCACHED_PACKAGE + ".ConnectionFactoryBuilder",
"setListenerExecutorService",
"java.util.concurrent.ExecutorService");
}
@Override @Override
public String[] helperClassNames() { public String[] helperClassNames() {
return new String[] { return new String[] {