Muzzle AWS SDK Instrumentation

Add muzzle blocks and remove class loader matcher methods.
This commit is contained in:
Gary Huang 2018-09-07 19:47:30 -04:00 committed by Gary
parent b58606d601
commit 254f721baf
No known key found for this signature in database
GPG Key ID: 0CB168EE6C6844B7
4 changed files with 12 additions and 62 deletions

View File

@ -1,39 +1,9 @@
apply plugin: 'version-scan' muzzle {
pass {
// Commented out because version scan doesn't catch the combination of tests. group = "com.amazonaws"
// HttpClientFactory is only present starting in 1.11.0 module = "aws-java-sdk-core"
// HandlerContextAware is added in 1.11.106 versions = "[1.10.33,1.11.106)"
// The combination of the two allow us to filter the ranges. }
//
//versionScan {
// group = "com.amazonaws"
// module = "aws-java-sdk-core"
// versions = "[1.11.0,1.11.106)"
// verifyPresent = [
// "com.amazonaws.http.client.HttpClientFactory": null,
// ]
// verifyMissing = [
// "com.amazonaws.HandlerContextAware",
// ]
//}
//versionScan {
// group = "com.amazonaws"
// module = "aws-java-sdk-core"
// versions = "[1.11.0,)"
// verifyPresent = [
// "com.amazonaws.http.client.HttpClientFactory": null,
// ]
//}
versionScan {
group = "com.amazonaws"
module = "aws-java-sdk-core"
versions = "[,1.11.106)"
verifyMissing = [
"com.amazonaws.HandlerContextAware",
]
} }
apply from: "${rootDir}/gradle/java.gradle" apply from: "${rootDir}/gradle/java.gradle"

View File

@ -1,10 +1,8 @@
package datadog.trace.instrumentation.aws.v0; package datadog.trace.instrumentation.aws.v0;
import static datadog.trace.agent.tooling.ClassLoaderMatcher.classLoaderHasClasses;
import static net.bytebuddy.matcher.ElementMatchers.declaresField; import static net.bytebuddy.matcher.ElementMatchers.declaresField;
import static net.bytebuddy.matcher.ElementMatchers.isConstructor; import static net.bytebuddy.matcher.ElementMatchers.isConstructor;
import static net.bytebuddy.matcher.ElementMatchers.named; import static net.bytebuddy.matcher.ElementMatchers.named;
import static net.bytebuddy.matcher.ElementMatchers.not;
import com.amazonaws.handlers.RequestHandler2; import com.amazonaws.handlers.RequestHandler2;
import com.google.auto.service.AutoService; import com.google.auto.service.AutoService;
@ -34,15 +32,6 @@ public final class AWSClientInstrumentation extends Instrumenter.Default {
.and(declaresField(named("requestHandler2s"))); .and(declaresField(named("requestHandler2s")));
} }
@Override
public ElementMatcher<ClassLoader> classLoaderMatcher() {
return classLoaderHasClasses("com.amazonaws.http.client.HttpClientFactory")
.and(
not(
classLoaderHasClasses(
"com.amazonaws.client.builder.AwsClientBuilder$EndpointConfiguration")));
}
@Override @Override
public String[] helperClassNames() { public String[] helperClassNames() {
return new String[] { return new String[] {

View File

@ -1,12 +1,9 @@
apply plugin: 'version-scan' muzzle {
pass {
versionScan { group = "com.amazonaws"
group = "com.amazonaws" module = "aws-java-sdk-core"
module = "aws-java-sdk-core" versions = "[1.11.106,)"
versions = "[1.11.106,)" }
verifyPresent = [
"com.amazonaws.HandlerContextAware": null,
]
} }
apply from: "${rootDir}/gradle/java.gradle" apply from: "${rootDir}/gradle/java.gradle"

View File

@ -1,6 +1,5 @@
package datadog.trace.instrumentation.aws.v106; package datadog.trace.instrumentation.aws.v106;
import static datadog.trace.agent.tooling.ClassLoaderMatcher.classLoaderHasClasses;
import static net.bytebuddy.matcher.ElementMatchers.declaresField; import static net.bytebuddy.matcher.ElementMatchers.declaresField;
import static net.bytebuddy.matcher.ElementMatchers.isAbstract; import static net.bytebuddy.matcher.ElementMatchers.isAbstract;
import static net.bytebuddy.matcher.ElementMatchers.isConstructor; import static net.bytebuddy.matcher.ElementMatchers.isConstructor;
@ -37,11 +36,6 @@ public final class AWSClientInstrumentation extends Instrumenter.Default {
.and(declaresField(named("requestHandler2s")))); .and(declaresField(named("requestHandler2s"))));
} }
@Override
public ElementMatcher<ClassLoader> classLoaderMatcher() {
return classLoaderHasClasses("com.amazonaws.HandlerContextAware");
}
@Override @Override
public String[] helperClassNames() { public String[] helperClassNames() {
return new String[] { return new String[] {