diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/Instrumenter.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/Instrumenter.java index 61de26c1f1..ba9483cb18 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/Instrumenter.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/Instrumenter.java @@ -158,7 +158,7 @@ public interface Instrumenter { } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return any(); } diff --git a/dd-java-agent/instrumentation/akka-http-10.0/src/main/scala/datadog/trace/instrumentation/akkahttp/AkkaHttpClientInstrumentation.java b/dd-java-agent/instrumentation/akka-http-10.0/src/main/scala/datadog/trace/instrumentation/akkahttp/AkkaHttpClientInstrumentation.java index 7a9e03b0ce..7c683c8525 100644 --- a/dd-java-agent/instrumentation/akka-http-10.0/src/main/scala/datadog/trace/instrumentation/akkahttp/AkkaHttpClientInstrumentation.java +++ b/dd-java-agent/instrumentation/akka-http-10.0/src/main/scala/datadog/trace/instrumentation/akkahttp/AkkaHttpClientInstrumentation.java @@ -48,7 +48,7 @@ public final class AkkaHttpClientInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("akka.http.scaladsl.HttpExt"); } diff --git a/dd-java-agent/instrumentation/akka-http-10.0/src/main/scala/datadog/trace/instrumentation/akkahttp/AkkaHttpServerInstrumentation.java b/dd-java-agent/instrumentation/akka-http-10.0/src/main/scala/datadog/trace/instrumentation/akkahttp/AkkaHttpServerInstrumentation.java index 2bc1478045..a36f7db95c 100644 --- a/dd-java-agent/instrumentation/akka-http-10.0/src/main/scala/datadog/trace/instrumentation/akkahttp/AkkaHttpServerInstrumentation.java +++ b/dd-java-agent/instrumentation/akka-http-10.0/src/main/scala/datadog/trace/instrumentation/akkahttp/AkkaHttpServerInstrumentation.java @@ -46,7 +46,7 @@ public final class AkkaHttpServerInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("akka.http.scaladsl.HttpExt"); } diff --git a/dd-java-agent/instrumentation/apache-httpclient-4.3/src/main/java/datadog/trace/instrumentation/apachehttpclient/ApacheHttpClientInstrumentation.java b/dd-java-agent/instrumentation/apache-httpclient-4.3/src/main/java/datadog/trace/instrumentation/apachehttpclient/ApacheHttpClientInstrumentation.java index 23d71954b6..1973afa5b0 100644 --- a/dd-java-agent/instrumentation/apache-httpclient-4.3/src/main/java/datadog/trace/instrumentation/apachehttpclient/ApacheHttpClientInstrumentation.java +++ b/dd-java-agent/instrumentation/apache-httpclient-4.3/src/main/java/datadog/trace/instrumentation/apachehttpclient/ApacheHttpClientInstrumentation.java @@ -19,6 +19,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; import org.apache.http.impl.execchain.ClientExecChain; @@ -30,13 +31,13 @@ public class ApacheHttpClientInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("org.apache.http.impl.client.HttpClientBuilder") .or(safeHasSuperType(named("org.apache.http.impl.client.CloseableHttpClient"))); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses( "org.apache.http.HttpException", "org.apache.http.HttpRequest", diff --git a/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/main/java/datadog/trace/instrumentation/aws/v0/AWSClientInstrumentation.java b/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/main/java/datadog/trace/instrumentation/aws/v0/AWSClientInstrumentation.java index edb5e433c7..b473fba41e 100644 --- a/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/main/java/datadog/trace/instrumentation/aws/v0/AWSClientInstrumentation.java +++ b/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/main/java/datadog/trace/instrumentation/aws/v0/AWSClientInstrumentation.java @@ -14,6 +14,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; /** @@ -28,13 +29,13 @@ public final class AWSClientInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("com.amazonaws.AmazonWebServiceClient") .and(declaresField(named("requestHandler2s"))); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses("com.amazonaws.http.client.HttpClientFactory") .and( not( @@ -52,7 +53,7 @@ public final class AWSClientInstrumentation extends Instrumenter.Default { @Override public Map transformers() { - Map transformers = new HashMap<>(); + final Map transformers = new HashMap<>(); transformers.put(isConstructor(), AWSClientAdvice.class.getName()); return transformers; } diff --git a/dd-java-agent/instrumentation/aws-java-sdk-1.11.106/src/main/java/datadog/trace/instrumentation/aws/v106/AWSClientInstrumentation.java b/dd-java-agent/instrumentation/aws-java-sdk-1.11.106/src/main/java/datadog/trace/instrumentation/aws/v106/AWSClientInstrumentation.java index 753e7d591d..2567ffd6fe 100644 --- a/dd-java-agent/instrumentation/aws-java-sdk-1.11.106/src/main/java/datadog/trace/instrumentation/aws/v106/AWSClientInstrumentation.java +++ b/dd-java-agent/instrumentation/aws-java-sdk-1.11.106/src/main/java/datadog/trace/instrumentation/aws/v106/AWSClientInstrumentation.java @@ -14,6 +14,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; /** @@ -29,7 +30,7 @@ public final class AWSClientInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return isAbstract() .and( named("com.amazonaws.AmazonWebServiceClient") @@ -37,7 +38,7 @@ public final class AWSClientInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses("com.amazonaws.HandlerContextAware"); } @@ -51,7 +52,7 @@ public final class AWSClientInstrumentation extends Instrumenter.Default { @Override public Map transformers() { - Map transformers = new HashMap<>(); + final Map transformers = new HashMap<>(); transformers.put(isConstructor(), AWSClientAdvice.class.getName()); return transformers; } diff --git a/dd-java-agent/instrumentation/classloaders/src/main/java/datadog/trace/instrumentation/classloaders/ClassLoaderInstrumentation.java b/dd-java-agent/instrumentation/classloaders/src/main/java/datadog/trace/instrumentation/classloaders/ClassLoaderInstrumentation.java index a7e99e63b5..ed872e818f 100644 --- a/dd-java-agent/instrumentation/classloaders/src/main/java/datadog/trace/instrumentation/classloaders/ClassLoaderInstrumentation.java +++ b/dd-java-agent/instrumentation/classloaders/src/main/java/datadog/trace/instrumentation/classloaders/ClassLoaderInstrumentation.java @@ -26,7 +26,7 @@ public final class ClassLoaderInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return safeHasSuperType(named("java.lang.ClassLoader")); } diff --git a/dd-java-agent/instrumentation/datastax-cassandra-3.2/src/main/java/datadog/trace/instrumentation/datastax/cassandra/CassandraClientInstrumentation.java b/dd-java-agent/instrumentation/datastax-cassandra-3.2/src/main/java/datadog/trace/instrumentation/datastax/cassandra/CassandraClientInstrumentation.java index 2e2cb481ce..2f8afa8f8c 100644 --- a/dd-java-agent/instrumentation/datastax-cassandra-3.2/src/main/java/datadog/trace/instrumentation/datastax/cassandra/CassandraClientInstrumentation.java +++ b/dd-java-agent/instrumentation/datastax-cassandra-3.2/src/main/java/datadog/trace/instrumentation/datastax/cassandra/CassandraClientInstrumentation.java @@ -15,6 +15,7 @@ import java.lang.reflect.Constructor; import java.util.HashMap; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -25,12 +26,12 @@ public class CassandraClientInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("com.datastax.driver.core.Cluster$Manager"); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses("com.datastax.driver.core.Duration"); } @@ -45,7 +46,7 @@ public class CassandraClientInstrumentation extends Instrumenter.Default { @Override public Map transformers() { - Map transformers = new HashMap<>(); + final Map transformers = new HashMap<>(); transformers.put( isMethod().and(isPrivate()).and(named("newSession")).and(takesArguments(0)), CassandraClientAdvice.class.getName()); diff --git a/dd-java-agent/instrumentation/elasticsearch-rest-5/src/main/java/datadog/trace/instrumentation/elasticsearch5/Elasticsearch5RestClientInstrumentation.java b/dd-java-agent/instrumentation/elasticsearch-rest-5/src/main/java/datadog/trace/instrumentation/elasticsearch5/Elasticsearch5RestClientInstrumentation.java index dd8eb6cce4..a74339bf34 100644 --- a/dd-java-agent/instrumentation/elasticsearch-rest-5/src/main/java/datadog/trace/instrumentation/elasticsearch5/Elasticsearch5RestClientInstrumentation.java +++ b/dd-java-agent/instrumentation/elasticsearch-rest-5/src/main/java/datadog/trace/instrumentation/elasticsearch5/Elasticsearch5RestClientInstrumentation.java @@ -21,6 +21,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; import org.elasticsearch.client.ResponseListener; @@ -42,7 +43,7 @@ public class Elasticsearch5RestClientInstrumentation extends Instrumenter.Defaul } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return not(isInterface()).and(named("org.elasticsearch.client.RestClient")); } diff --git a/dd-java-agent/instrumentation/elasticsearch-transport-2/src/main/java/datadog/trace/instrumentation/elasticsearch2/Elasticsearch2TransportClientInstrumentation.java b/dd-java-agent/instrumentation/elasticsearch-transport-2/src/main/java/datadog/trace/instrumentation/elasticsearch2/Elasticsearch2TransportClientInstrumentation.java index b607f603bd..c935c82b74 100644 --- a/dd-java-agent/instrumentation/elasticsearch-transport-2/src/main/java/datadog/trace/instrumentation/elasticsearch2/Elasticsearch2TransportClientInstrumentation.java +++ b/dd-java-agent/instrumentation/elasticsearch-transport-2/src/main/java/datadog/trace/instrumentation/elasticsearch2/Elasticsearch2TransportClientInstrumentation.java @@ -20,6 +20,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; import org.elasticsearch.action.Action; import org.elasticsearch.action.ActionListener; @@ -39,14 +40,14 @@ public class Elasticsearch2TransportClientInstrumentation extends Instrumenter.D } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { // If we want to be more generic, we could instrument the interface instead: // .and(safeHasSuperType(named("org.elasticsearch.client.ElasticsearchClient")))) return not(isInterface()).and(named("org.elasticsearch.client.support.AbstractClient")); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses("org.elasticsearch.plugins.SitePlugin"); } diff --git a/dd-java-agent/instrumentation/elasticsearch-transport-5/src/main/java/datadog/trace/instrumentation/elasticsearch5/Elasticsearch5TransportClientInstrumentation.java b/dd-java-agent/instrumentation/elasticsearch-transport-5/src/main/java/datadog/trace/instrumentation/elasticsearch5/Elasticsearch5TransportClientInstrumentation.java index f138adfaa2..597753095e 100644 --- a/dd-java-agent/instrumentation/elasticsearch-transport-5/src/main/java/datadog/trace/instrumentation/elasticsearch5/Elasticsearch5TransportClientInstrumentation.java +++ b/dd-java-agent/instrumentation/elasticsearch-transport-5/src/main/java/datadog/trace/instrumentation/elasticsearch5/Elasticsearch5TransportClientInstrumentation.java @@ -20,6 +20,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; import org.elasticsearch.action.Action; import org.elasticsearch.action.ActionListener; @@ -39,14 +40,14 @@ public class Elasticsearch5TransportClientInstrumentation extends Instrumenter.D } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { // If we want to be more generic, we could instrument the interface instead: // .and(safeHasSuperType(named("org.elasticsearch.client.ElasticsearchClient")))) return not(isInterface()).and(named("org.elasticsearch.client.support.AbstractClient")); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses("org.elasticsearch.percolator.TransportMultiPercolateAction"); } diff --git a/dd-java-agent/instrumentation/elasticsearch-transport-6/src/main/java/datadog/trace/instrumentation/elasticsearch6/Elasticsearch6TransportClientInstrumentation.java b/dd-java-agent/instrumentation/elasticsearch-transport-6/src/main/java/datadog/trace/instrumentation/elasticsearch6/Elasticsearch6TransportClientInstrumentation.java index 6f9b925941..173084c3ef 100644 --- a/dd-java-agent/instrumentation/elasticsearch-transport-6/src/main/java/datadog/trace/instrumentation/elasticsearch6/Elasticsearch6TransportClientInstrumentation.java +++ b/dd-java-agent/instrumentation/elasticsearch-transport-6/src/main/java/datadog/trace/instrumentation/elasticsearch6/Elasticsearch6TransportClientInstrumentation.java @@ -20,6 +20,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; import org.elasticsearch.action.Action; import org.elasticsearch.action.ActionListener; @@ -43,14 +44,14 @@ public class Elasticsearch6TransportClientInstrumentation extends Instrumenter.D } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { // If we want to be more generic, we could instrument the interface instead: // .and(safeHasSuperType(named("org.elasticsearch.client.ElasticsearchClient")))) return not(isInterface()).and(named("org.elasticsearch.client.support.AbstractClient")); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses("org.elasticsearch.client.RestClientBuilder$2"); } diff --git a/dd-java-agent/instrumentation/grpc-1.5/src/main/java/datadog/trace/instrumentation/grpc/client/GrpcClientBuilderInstrumentation.java b/dd-java-agent/instrumentation/grpc-1.5/src/main/java/datadog/trace/instrumentation/grpc/client/GrpcClientBuilderInstrumentation.java index 1185e6eb22..eaaeab4138 100644 --- a/dd-java-agent/instrumentation/grpc-1.5/src/main/java/datadog/trace/instrumentation/grpc/client/GrpcClientBuilderInstrumentation.java +++ b/dd-java-agent/instrumentation/grpc-1.5/src/main/java/datadog/trace/instrumentation/grpc/client/GrpcClientBuilderInstrumentation.java @@ -12,6 +12,7 @@ import java.util.Collections; import java.util.List; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -22,12 +23,12 @@ public class GrpcClientBuilderInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("io.grpc.internal.AbstractManagedChannelImplBuilder"); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses("io.grpc.InternalServerInterceptors"); } diff --git a/dd-java-agent/instrumentation/grpc-1.5/src/main/java/datadog/trace/instrumentation/grpc/server/GrpcServerBuilderInstrumentation.java b/dd-java-agent/instrumentation/grpc-1.5/src/main/java/datadog/trace/instrumentation/grpc/server/GrpcServerBuilderInstrumentation.java index 37ff1994c9..2f74b50fde 100644 --- a/dd-java-agent/instrumentation/grpc-1.5/src/main/java/datadog/trace/instrumentation/grpc/server/GrpcServerBuilderInstrumentation.java +++ b/dd-java-agent/instrumentation/grpc-1.5/src/main/java/datadog/trace/instrumentation/grpc/server/GrpcServerBuilderInstrumentation.java @@ -12,6 +12,7 @@ import java.util.Collections; import java.util.List; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -22,12 +23,12 @@ public class GrpcServerBuilderInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("io.grpc.internal.AbstractServerImplBuilder"); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses("io.grpc.InternalServerInterceptors"); } diff --git a/dd-java-agent/instrumentation/http-url-connection/src/main/java/datadog/trace/instrumentation/http_url_connection/HttpUrlConnectionInstrumentation.java b/dd-java-agent/instrumentation/http-url-connection/src/main/java/datadog/trace/instrumentation/http_url_connection/HttpUrlConnectionInstrumentation.java index 8657283799..58b7f8ac27 100644 --- a/dd-java-agent/instrumentation/http-url-connection/src/main/java/datadog/trace/instrumentation/http_url_connection/HttpUrlConnectionInstrumentation.java +++ b/dd-java-agent/instrumentation/http-url-connection/src/main/java/datadog/trace/instrumentation/http_url_connection/HttpUrlConnectionInstrumentation.java @@ -24,6 +24,7 @@ import java.util.Map; import java.util.WeakHashMap; import javax.net.ssl.HttpsURLConnection; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -39,7 +40,7 @@ public class HttpUrlConnectionInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return safeHasSuperType(named("java.net.HttpURLConnection")) // This class is a simple delegator. Skip because it does not update its `connected` field. .and(not(named("sun.net.www.protocol.https.HttpsURLConnectionImpl"))); diff --git a/dd-java-agent/instrumentation/http-url-connection/src/main/java/datadog/trace/instrumentation/http_url_connection/SunHttpClientInstrumentation.java b/dd-java-agent/instrumentation/http-url-connection/src/main/java/datadog/trace/instrumentation/http_url_connection/SunHttpClientInstrumentation.java index 9efb051257..71f83c2a09 100644 --- a/dd-java-agent/instrumentation/http-url-connection/src/main/java/datadog/trace/instrumentation/http_url_connection/SunHttpClientInstrumentation.java +++ b/dd-java-agent/instrumentation/http-url-connection/src/main/java/datadog/trace/instrumentation/http_url_connection/SunHttpClientInstrumentation.java @@ -17,6 +17,7 @@ import java.util.Collections; import java.util.Iterator; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; import sun.net.www.MessageHeader; import sun.net.www.http.HttpClient; @@ -34,7 +35,7 @@ public class SunHttpClientInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("sun.net.www.http.HttpClient"); } diff --git a/dd-java-agent/instrumentation/http-url-connection/src/main/java/datadog/trace/instrumentation/http_url_connection/UrlInstrumentation.java b/dd-java-agent/instrumentation/http-url-connection/src/main/java/datadog/trace/instrumentation/http_url_connection/UrlInstrumentation.java index f71e3d5e87..a5f18fc3ad 100644 --- a/dd-java-agent/instrumentation/http-url-connection/src/main/java/datadog/trace/instrumentation/http_url_connection/UrlInstrumentation.java +++ b/dd-java-agent/instrumentation/http-url-connection/src/main/java/datadog/trace/instrumentation/http_url_connection/UrlInstrumentation.java @@ -19,6 +19,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -34,13 +35,13 @@ public class UrlInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return is(URL.class); } @Override public Map transformers() { - Map transformers = new HashMap<>(); + final Map transformers = new HashMap<>(); transformers.put( isMethod().and(isPublic()).and(named("openConnection")), ConnectionErrorAdvice.class.getName()); diff --git a/dd-java-agent/instrumentation/hystrix-1.4/src/main/java/datadog/trace/instrumentation/hystrix/HystrixCommandInstrumentation.java b/dd-java-agent/instrumentation/hystrix-1.4/src/main/java/datadog/trace/instrumentation/hystrix/HystrixCommandInstrumentation.java index 0514e4c951..7f47780b0e 100644 --- a/dd-java-agent/instrumentation/hystrix-1.4/src/main/java/datadog/trace/instrumentation/hystrix/HystrixCommandInstrumentation.java +++ b/dd-java-agent/instrumentation/hystrix-1.4/src/main/java/datadog/trace/instrumentation/hystrix/HystrixCommandInstrumentation.java @@ -18,6 +18,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -28,7 +29,7 @@ public class HystrixCommandInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { // Not adding a version restriction because this should work with any version and add some // benefit. return not(isInterface()).and(safeHasSuperType(named("com.netflix.hystrix.HystrixCommand"))); diff --git a/dd-java-agent/instrumentation/hystrix-1.4/src/main/java/datadog/trace/instrumentation/hystrix/HystrixThreadPoolInstrumentation.java b/dd-java-agent/instrumentation/hystrix-1.4/src/main/java/datadog/trace/instrumentation/hystrix/HystrixThreadPoolInstrumentation.java index ad924588ef..cb7c609f51 100644 --- a/dd-java-agent/instrumentation/hystrix-1.4/src/main/java/datadog/trace/instrumentation/hystrix/HystrixThreadPoolInstrumentation.java +++ b/dd-java-agent/instrumentation/hystrix-1.4/src/main/java/datadog/trace/instrumentation/hystrix/HystrixThreadPoolInstrumentation.java @@ -13,6 +13,7 @@ import io.opentracing.util.GlobalTracer; import java.util.HashMap; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -23,19 +24,19 @@ public class HystrixThreadPoolInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named( "com.netflix.hystrix.strategy.concurrency.HystrixContextScheduler$ThreadPoolWorker"); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses("com.netflix.hystrix.AbstractCommand"); } @Override public Map transformers() { - Map transformers = new HashMap<>(); + final Map transformers = new HashMap<>(); transformers.put( isMethod().and(named("schedule")).and(takesArguments(1)), EnableAsyncAdvice.class.getName()); diff --git a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/ExecutorInstrumentation.java b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/ExecutorInstrumentation.java index c7e6fff610..ec3c7e66d9 100644 --- a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/ExecutorInstrumentation.java +++ b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/ExecutorInstrumentation.java @@ -93,7 +93,7 @@ public final class ExecutorInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return not(isInterface()) .and(safeHasSuperType(named(Executor.class.getName()))) .and( diff --git a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/FutureInstrumentation.java b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/FutureInstrumentation.java index 4c56a7e6cf..92137590e3 100644 --- a/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/FutureInstrumentation.java +++ b/dd-java-agent/instrumentation/java-concurrent/src/main/java/datadog/trace/instrumentation/java/concurrent/FutureInstrumentation.java @@ -68,7 +68,7 @@ public final class FutureInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return not(isInterface()) .and(safeHasSuperType(named(Future.class.getName()))) .and( diff --git a/dd-java-agent/instrumentation/jax-rs-annotations/src/main/java/datadog/trace/instrumentation/jaxrs/JaxRsAnnotationsInstrumentation.java b/dd-java-agent/instrumentation/jax-rs-annotations/src/main/java/datadog/trace/instrumentation/jaxrs/JaxRsAnnotationsInstrumentation.java index ee4755ece1..7ca7c76ac3 100644 --- a/dd-java-agent/instrumentation/jax-rs-annotations/src/main/java/datadog/trace/instrumentation/jaxrs/JaxRsAnnotationsInstrumentation.java +++ b/dd-java-agent/instrumentation/jax-rs-annotations/src/main/java/datadog/trace/instrumentation/jaxrs/JaxRsAnnotationsInstrumentation.java @@ -19,6 +19,7 @@ import java.util.Map; import javax.ws.rs.HttpMethod; import javax.ws.rs.Path; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -29,7 +30,7 @@ public final class JaxRsAnnotationsInstrumentation extends Instrumenter.Default } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return safeHasSuperType( isAnnotatedWith(named("javax.ws.rs.Path")) .or(safeHasSuperType(declaresMethod(isAnnotatedWith(named("javax.ws.rs.Path")))))); diff --git a/dd-java-agent/instrumentation/jax-rs-client/src/main/java/datadog/trace/instrumentation/jaxrs/JaxRsClientInstrumentation.java b/dd-java-agent/instrumentation/jax-rs-client/src/main/java/datadog/trace/instrumentation/jaxrs/JaxRsClientInstrumentation.java index e0025d06df..e6a3dd7932 100644 --- a/dd-java-agent/instrumentation/jax-rs-client/src/main/java/datadog/trace/instrumentation/jaxrs/JaxRsClientInstrumentation.java +++ b/dd-java-agent/instrumentation/jax-rs-client/src/main/java/datadog/trace/instrumentation/jaxrs/JaxRsClientInstrumentation.java @@ -10,6 +10,7 @@ import java.util.HashMap; import java.util.Map; import javax.ws.rs.client.ClientBuilder; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -20,7 +21,7 @@ public final class JaxRsClientInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return safeHasSuperType(named("javax.ws.rs.client.ClientBuilder")); } diff --git a/dd-java-agent/instrumentation/jboss-classloading/src/main/java/datadog/trace/instrumentation/jboss/JBossClassloadingInstrumentation.java b/dd-java-agent/instrumentation/jboss-classloading/src/main/java/datadog/trace/instrumentation/jboss/JBossClassloadingInstrumentation.java index 6190dfa646..e121b1e8d1 100644 --- a/dd-java-agent/instrumentation/jboss-classloading/src/main/java/datadog/trace/instrumentation/jboss/JBossClassloadingInstrumentation.java +++ b/dd-java-agent/instrumentation/jboss-classloading/src/main/java/datadog/trace/instrumentation/jboss/JBossClassloadingInstrumentation.java @@ -5,6 +5,7 @@ import datadog.trace.agent.tooling.Instrumenter; import datadog.trace.agent.tooling.Utils; import java.util.Collections; import java.util.Map; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; import net.bytebuddy.matcher.NameMatcher; import net.bytebuddy.matcher.StringMatcher; @@ -16,16 +17,16 @@ public final class JBossClassloadingInstrumentation extends Instrumenter.Default } @Override - public ElementMatcher typeMatcher() { - return new NameMatcher( + public ElementMatcher typeMatcher() { + return new NameMatcher<>( new StringMatcher("org.jboss.modules.Module", StringMatcher.Mode.EQUALS_FULLY) { @Override - public boolean matches(String target) { + public boolean matches(final String target) { if (super.matches(target)) { // This instrumentation modifies no bytes. // Instead it sets a system prop to tell jboss to delegate // classloads for datadog bootstrap classes - StringBuilder ddPrefixes = new StringBuilder(""); + final StringBuilder ddPrefixes = new StringBuilder(""); for (int i = 0; i < Utils.BOOTSTRAP_PACKAGE_PREFIXES.length; ++i) { if (i > 0) { ddPrefixes.append(","); diff --git a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/ConnectionInstrumentation.java b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/ConnectionInstrumentation.java index d7f8d5de4d..d291d93483 100644 --- a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/ConnectionInstrumentation.java +++ b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/ConnectionInstrumentation.java @@ -15,6 +15,7 @@ import java.sql.PreparedStatement; import java.util.HashMap; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -25,7 +26,7 @@ public final class ConnectionInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return not(isInterface()).and(safeHasSuperType(named("java.sql.Connection"))); } diff --git a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/PreparedStatementInstrumentation.java b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/PreparedStatementInstrumentation.java index d15ac53689..fc3a51f5e9 100644 --- a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/PreparedStatementInstrumentation.java +++ b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/PreparedStatementInstrumentation.java @@ -27,6 +27,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -36,7 +37,7 @@ public final class PreparedStatementInstrumentation extends Instrumenter.Default } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return not(isInterface()).and(safeHasSuperType(named("java.sql.PreparedStatement"))); } diff --git a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/StatementInstrumentation.java b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/StatementInstrumentation.java index 65795a781e..a45854951e 100644 --- a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/StatementInstrumentation.java +++ b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/StatementInstrumentation.java @@ -27,6 +27,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -37,7 +38,7 @@ public final class StatementInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return not(isInterface()).and(safeHasSuperType(named("java.sql.Statement"))); } diff --git a/dd-java-agent/instrumentation/jedis-1.4/src/main/java/datadog/trace/instrumentation/jedis/JedisInstrumentation.java b/dd-java-agent/instrumentation/jedis-1.4/src/main/java/datadog/trace/instrumentation/jedis/JedisInstrumentation.java index d94e8c2c40..dd9423a486 100644 --- a/dd-java-agent/instrumentation/jedis-1.4/src/main/java/datadog/trace/instrumentation/jedis/JedisInstrumentation.java +++ b/dd-java-agent/instrumentation/jedis-1.4/src/main/java/datadog/trace/instrumentation/jedis/JedisInstrumentation.java @@ -19,6 +19,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; import redis.clients.jedis.Protocol.Command; @@ -33,12 +34,12 @@ public final class JedisInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("redis.clients.jedis.Protocol"); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses("redis.clients.jedis.Protocol$Command"); } diff --git a/dd-java-agent/instrumentation/jetty-8/src/main/java/datadog/trace/instrumentation/jetty8/HandlerInstrumentation.java b/dd-java-agent/instrumentation/jetty-8/src/main/java/datadog/trace/instrumentation/jetty8/HandlerInstrumentation.java index f829f23400..3b97d67505 100644 --- a/dd-java-agent/instrumentation/jetty-8/src/main/java/datadog/trace/instrumentation/jetty8/HandlerInstrumentation.java +++ b/dd-java-agent/instrumentation/jetty-8/src/main/java/datadog/trace/instrumentation/jetty8/HandlerInstrumentation.java @@ -12,6 +12,7 @@ import com.google.auto.service.AutoService; import datadog.trace.agent.tooling.Instrumenter; import java.util.HashMap; import java.util.Map; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -28,14 +29,14 @@ public final class HandlerInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return not(isInterface()) .and(safeHasSuperType(named("org.eclipse.jetty.server.Handler"))) .and(not(named("org.eclipse.jetty.server.handler.HandlerWrapper"))); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return not(classLoaderHasClasses("org.eclipse.jetty.server.AsyncContext")); } diff --git a/dd-java-agent/instrumentation/jms-1/src/main/java/datadog/trace/instrumentation/jms1/JMS1MessageConsumerInstrumentation.java b/dd-java-agent/instrumentation/jms-1/src/main/java/datadog/trace/instrumentation/jms1/JMS1MessageConsumerInstrumentation.java index 41339cc8f5..7876a94ec6 100644 --- a/dd-java-agent/instrumentation/jms-1/src/main/java/datadog/trace/instrumentation/jms1/JMS1MessageConsumerInstrumentation.java +++ b/dd-java-agent/instrumentation/jms-1/src/main/java/datadog/trace/instrumentation/jms1/JMS1MessageConsumerInstrumentation.java @@ -46,12 +46,12 @@ public final class JMS1MessageConsumerInstrumentation extends Instrumenter.Defau } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return not(isInterface()).and(safeHasSuperType(named("javax.jms.MessageConsumer"))); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return not(classLoaderHasClasses("javax.jms.JMSContext", "javax.jms.CompletionListener")); } diff --git a/dd-java-agent/instrumentation/jms-1/src/main/java/datadog/trace/instrumentation/jms1/JMS1MessageListenerInstrumentation.java b/dd-java-agent/instrumentation/jms-1/src/main/java/datadog/trace/instrumentation/jms1/JMS1MessageListenerInstrumentation.java index 2ff94ef531..4403c394dc 100644 --- a/dd-java-agent/instrumentation/jms-1/src/main/java/datadog/trace/instrumentation/jms1/JMS1MessageListenerInstrumentation.java +++ b/dd-java-agent/instrumentation/jms-1/src/main/java/datadog/trace/instrumentation/jms1/JMS1MessageListenerInstrumentation.java @@ -28,6 +28,7 @@ import java.util.Map; import javax.jms.Message; import javax.jms.MessageListener; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -38,12 +39,12 @@ public final class JMS1MessageListenerInstrumentation extends Instrumenter.Defau } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return not(isInterface()).and(safeHasSuperType(named("javax.jms.MessageListener"))); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return not(classLoaderHasClasses("javax.jms.JMSContext", "javax.jms.CompletionListener")); } diff --git a/dd-java-agent/instrumentation/jms-1/src/main/java/datadog/trace/instrumentation/jms1/JMS1MessageProducerInstrumentation.java b/dd-java-agent/instrumentation/jms-1/src/main/java/datadog/trace/instrumentation/jms1/JMS1MessageProducerInstrumentation.java index c4f54b22e8..203e01405b 100644 --- a/dd-java-agent/instrumentation/jms-1/src/main/java/datadog/trace/instrumentation/jms1/JMS1MessageProducerInstrumentation.java +++ b/dd-java-agent/instrumentation/jms-1/src/main/java/datadog/trace/instrumentation/jms1/JMS1MessageProducerInstrumentation.java @@ -28,6 +28,7 @@ import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageProducer; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -38,12 +39,12 @@ public final class JMS1MessageProducerInstrumentation extends Instrumenter.Defau } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return not(isInterface()).and(safeHasSuperType(named("javax.jms.MessageProducer"))); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return not(classLoaderHasClasses("javax.jms.JMSContext", "javax.jms.CompletionListener")); } diff --git a/dd-java-agent/instrumentation/jms-2/src/main/java/datadog/trace/instrumentation/jms2/JMS2MessageConsumerInstrumentation.java b/dd-java-agent/instrumentation/jms-2/src/main/java/datadog/trace/instrumentation/jms2/JMS2MessageConsumerInstrumentation.java index d48b050397..467b9a78d4 100644 --- a/dd-java-agent/instrumentation/jms-2/src/main/java/datadog/trace/instrumentation/jms2/JMS2MessageConsumerInstrumentation.java +++ b/dd-java-agent/instrumentation/jms-2/src/main/java/datadog/trace/instrumentation/jms2/JMS2MessageConsumerInstrumentation.java @@ -30,6 +30,7 @@ import java.util.concurrent.TimeUnit; import javax.jms.Message; import javax.jms.MessageConsumer; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -45,12 +46,12 @@ public final class JMS2MessageConsumerInstrumentation extends Instrumenter.Defau } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return not(isInterface()).and(safeHasSuperType(named("javax.jms.MessageConsumer"))); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses("javax.jms.JMSContext", "javax.jms.CompletionListener"); } diff --git a/dd-java-agent/instrumentation/jms-2/src/main/java/datadog/trace/instrumentation/jms2/JMS2MessageListenerInstrumentation.java b/dd-java-agent/instrumentation/jms-2/src/main/java/datadog/trace/instrumentation/jms2/JMS2MessageListenerInstrumentation.java index ceae43d9d3..be5537c027 100644 --- a/dd-java-agent/instrumentation/jms-2/src/main/java/datadog/trace/instrumentation/jms2/JMS2MessageListenerInstrumentation.java +++ b/dd-java-agent/instrumentation/jms-2/src/main/java/datadog/trace/instrumentation/jms2/JMS2MessageListenerInstrumentation.java @@ -28,6 +28,7 @@ import java.util.Map; import javax.jms.Message; import javax.jms.MessageListener; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -38,12 +39,12 @@ public final class JMS2MessageListenerInstrumentation extends Instrumenter.Defau } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return not(isInterface()).and(safeHasSuperType(named("javax.jms.MessageListener"))); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses("javax.jms.JMSContext", "javax.jms.CompletionListener"); } diff --git a/dd-java-agent/instrumentation/jms-2/src/main/java/datadog/trace/instrumentation/jms2/JMS2MessageProducerInstrumentation.java b/dd-java-agent/instrumentation/jms-2/src/main/java/datadog/trace/instrumentation/jms2/JMS2MessageProducerInstrumentation.java index 6a8f12e0a0..e2f87146e0 100644 --- a/dd-java-agent/instrumentation/jms-2/src/main/java/datadog/trace/instrumentation/jms2/JMS2MessageProducerInstrumentation.java +++ b/dd-java-agent/instrumentation/jms-2/src/main/java/datadog/trace/instrumentation/jms2/JMS2MessageProducerInstrumentation.java @@ -28,6 +28,7 @@ import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageProducer; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -38,12 +39,12 @@ public final class JMS2MessageProducerInstrumentation extends Instrumenter.Defau } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return not(isInterface()).and(safeHasSuperType(named("javax.jms.MessageProducer"))); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses("javax.jms.JMSContext", "javax.jms.CompletionListener"); } diff --git a/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JSPInstrumentation.java b/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JSPInstrumentation.java index 41daeedabd..ed76bf83b3 100644 --- a/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JSPInstrumentation.java +++ b/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JSPInstrumentation.java @@ -23,6 +23,7 @@ import javax.servlet.RequestDispatcher; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -38,7 +39,7 @@ public final class JSPInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return not(isInterface()).and(safeHasSuperType(named("javax.servlet.jsp.HttpJspPage"))); } diff --git a/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JasperJSPCompilationContextInstrumentation.java b/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JasperJSPCompilationContextInstrumentation.java index 9b3a80c4cf..fbda4a5e8c 100644 --- a/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JasperJSPCompilationContextInstrumentation.java +++ b/dd-java-agent/instrumentation/jsp-2.3/src/main/java/datadog/trace/instrumentation/jsp/JasperJSPCompilationContextInstrumentation.java @@ -18,6 +18,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; import org.apache.jasper.JspCompilationContext; @@ -34,18 +35,18 @@ public final class JasperJSPCompilationContextInstrumentation extends Instrument } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("org.apache.jasper.JspCompilationContext"); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses("org.apache.jasper.servlet.JspServletWrapper"); } @Override public Map transformers() { - Map transformers = new HashMap<>(); + final Map transformers = new HashMap<>(); transformers.put( named("compile").and(takesArguments(0)).and(isPublic()), JasperJspCompilationContext.class.getName()); @@ -55,7 +56,7 @@ public final class JasperJSPCompilationContextInstrumentation extends Instrument public static class JasperJspCompilationContext { @Advice.OnMethodEnter(suppress = Throwable.class) - public static Scope startSpan(@Advice.This JspCompilationContext jspCompilationContext) { + public static Scope startSpan(@Advice.This final JspCompilationContext jspCompilationContext) { final Scope scope = GlobalTracer.get() diff --git a/dd-java-agent/instrumentation/jsp-2.3/src/test/resources/webapps/jsptest/common/hello.html b/dd-java-agent/instrumentation/jsp-2.3/src/test/resources/webapps/jsptest/common/hello.html index 47cd31fc85..f2b7e9bb7a 100644 --- a/dd-java-agent/instrumentation/jsp-2.3/src/test/resources/webapps/jsptest/common/hello.html +++ b/dd-java-agent/instrumentation/jsp-2.3/src/test/resources/webapps/jsptest/common/hello.html @@ -1,9 +1,9 @@ - - PLAIN HTML - + + PLAIN HTML + - -

HELLO DATADOG

- + +

HELLO DATADOG

+ diff --git a/dd-java-agent/instrumentation/kafka-clients-0.11/src/main/java/datadog/trace/instrumentation/kafka_clients/KafkaConsumerInstrumentation.java b/dd-java-agent/instrumentation/kafka-clients-0.11/src/main/java/datadog/trace/instrumentation/kafka_clients/KafkaConsumerInstrumentation.java index 0186ec8fb8..68c61fb1f4 100644 --- a/dd-java-agent/instrumentation/kafka-clients-0.11/src/main/java/datadog/trace/instrumentation/kafka_clients/KafkaConsumerInstrumentation.java +++ b/dd-java-agent/instrumentation/kafka-clients-0.11/src/main/java/datadog/trace/instrumentation/kafka_clients/KafkaConsumerInstrumentation.java @@ -21,6 +21,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; import org.apache.kafka.clients.consumer.ConsumerRecord; @@ -40,12 +41,12 @@ public final class KafkaConsumerInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("org.apache.kafka.clients.consumer.ConsumerRecords"); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses( "org.apache.kafka.common.header.Header", "org.apache.kafka.common.header.Headers"); } @@ -57,7 +58,7 @@ public final class KafkaConsumerInstrumentation extends Instrumenter.Default { @Override public Map transformers() { - Map transformers = new HashMap<>(); + final Map transformers = new HashMap<>(); transformers.put( isMethod() .and(isPublic()) diff --git a/dd-java-agent/instrumentation/kafka-clients-0.11/src/main/java/datadog/trace/instrumentation/kafka_clients/KafkaProducerInstrumentation.java b/dd-java-agent/instrumentation/kafka-clients-0.11/src/main/java/datadog/trace/instrumentation/kafka_clients/KafkaProducerInstrumentation.java index 8834ee89fe..cb1182b747 100644 --- a/dd-java-agent/instrumentation/kafka-clients-0.11/src/main/java/datadog/trace/instrumentation/kafka_clients/KafkaProducerInstrumentation.java +++ b/dd-java-agent/instrumentation/kafka-clients-0.11/src/main/java/datadog/trace/instrumentation/kafka_clients/KafkaProducerInstrumentation.java @@ -20,6 +20,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; import org.apache.kafka.clients.producer.Callback; import org.apache.kafka.clients.producer.ProducerRecord; @@ -41,12 +42,12 @@ public final class KafkaProducerInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("org.apache.kafka.clients.producer.KafkaProducer"); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses( "org.apache.kafka.common.header.Header", "org.apache.kafka.common.header.Headers"); } @@ -58,7 +59,7 @@ public final class KafkaProducerInstrumentation extends Instrumenter.Default { @Override public Map transformers() { - Map transformers = new HashMap<>(); + final Map transformers = new HashMap<>(); transformers.put( isMethod() .and(isPublic()) diff --git a/dd-java-agent/instrumentation/kafka-streams-0.11/src/main/java/datadog/trace/instrumentation/kafka_streams/KafkaStreamsProcessorInstrumentation.java b/dd-java-agent/instrumentation/kafka-streams-0.11/src/main/java/datadog/trace/instrumentation/kafka_streams/KafkaStreamsProcessorInstrumentation.java index 85c42b548d..8d698cc3fa 100644 --- a/dd-java-agent/instrumentation/kafka-streams-0.11/src/main/java/datadog/trace/instrumentation/kafka_streams/KafkaStreamsProcessorInstrumentation.java +++ b/dd-java-agent/instrumentation/kafka-streams-0.11/src/main/java/datadog/trace/instrumentation/kafka_streams/KafkaStreamsProcessorInstrumentation.java @@ -23,6 +23,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; import org.apache.kafka.streams.processor.internals.StampedRecord; @@ -41,12 +42,12 @@ public class KafkaStreamsProcessorInstrumentation { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("org.apache.kafka.streams.processor.internals.PartitionGroup"); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses("org.apache.kafka.streams.state.internals.OrderedBytes"); } @@ -57,7 +58,7 @@ public class KafkaStreamsProcessorInstrumentation { @Override public Map transformers() { - Map transformers = new HashMap<>(); + final Map transformers = new HashMap<>(); transformers.put( isMethod() .and(isPackagePrivate()) @@ -103,12 +104,12 @@ public class KafkaStreamsProcessorInstrumentation { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("org.apache.kafka.streams.processor.internals.StreamTask"); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses( "org.apache.kafka.common.header.Header", "org.apache.kafka.common.header.Headers"); } @@ -120,7 +121,7 @@ public class KafkaStreamsProcessorInstrumentation { @Override public Map transformers() { - Map transformers = new HashMap<>(); + final Map transformers = new HashMap<>(); transformers.put( isMethod().and(isPublic()).and(named("process")).and(takesArguments(0)), StopSpanAdvice.class.getName()); diff --git a/dd-java-agent/instrumentation/kafka-streams-0.11/src/main/java/datadog/trace/instrumentation/kafka_streams/KafkaStreamsSourceNodeRecordDeserializerInstrumentation.java b/dd-java-agent/instrumentation/kafka-streams-0.11/src/main/java/datadog/trace/instrumentation/kafka_streams/KafkaStreamsSourceNodeRecordDeserializerInstrumentation.java index 62cf2f1b5b..24e2fbbf74 100644 --- a/dd-java-agent/instrumentation/kafka-streams-0.11/src/main/java/datadog/trace/instrumentation/kafka_streams/KafkaStreamsSourceNodeRecordDeserializerInstrumentation.java +++ b/dd-java-agent/instrumentation/kafka-streams-0.11/src/main/java/datadog/trace/instrumentation/kafka_streams/KafkaStreamsSourceNodeRecordDeserializerInstrumentation.java @@ -12,6 +12,7 @@ import datadog.trace.agent.tooling.Instrumenter; import java.util.HashMap; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; import org.apache.kafka.clients.consumer.ConsumerRecord; import org.apache.kafka.common.record.TimestampType; @@ -25,18 +26,18 @@ public class KafkaStreamsSourceNodeRecordDeserializerInstrumentation extends Ins } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("org.apache.kafka.streams.processor.internals.SourceNodeRecordDeserializer"); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses("org.apache.kafka.streams.state.internals.OrderedBytes"); } @Override public Map transformers() { - Map transformers = new HashMap<>(); + final Map transformers = new HashMap<>(); transformers.put( isMethod() .and(isPublic()) diff --git a/dd-java-agent/instrumentation/lettuce-5/src/main/java/datadog/trace/instrumentation/lettuce/LettuceAsyncCommandsInstrumentation.java b/dd-java-agent/instrumentation/lettuce-5/src/main/java/datadog/trace/instrumentation/lettuce/LettuceAsyncCommandsInstrumentation.java index b7618f3108..8de3deb910 100644 --- a/dd-java-agent/instrumentation/lettuce-5/src/main/java/datadog/trace/instrumentation/lettuce/LettuceAsyncCommandsInstrumentation.java +++ b/dd-java-agent/instrumentation/lettuce-5/src/main/java/datadog/trace/instrumentation/lettuce/LettuceAsyncCommandsInstrumentation.java @@ -9,6 +9,7 @@ import com.google.auto.service.AutoService; import datadog.trace.agent.tooling.Instrumenter; import java.util.HashMap; import java.util.Map; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -22,12 +23,12 @@ public class LettuceAsyncCommandsInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("io.lettuce.core.AbstractRedisAsyncCommands"); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses("io.lettuce.core.RedisClient"); } diff --git a/dd-java-agent/instrumentation/lettuce-5/src/main/java/datadog/trace/instrumentation/lettuce/LettuceClientInstrumentation.java b/dd-java-agent/instrumentation/lettuce-5/src/main/java/datadog/trace/instrumentation/lettuce/LettuceClientInstrumentation.java index 0f9316fce9..f5f80d316a 100644 --- a/dd-java-agent/instrumentation/lettuce-5/src/main/java/datadog/trace/instrumentation/lettuce/LettuceClientInstrumentation.java +++ b/dd-java-agent/instrumentation/lettuce-5/src/main/java/datadog/trace/instrumentation/lettuce/LettuceClientInstrumentation.java @@ -13,6 +13,7 @@ import com.google.auto.service.AutoService; import datadog.trace.agent.tooling.Instrumenter; import java.util.HashMap; import java.util.Map; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -32,12 +33,12 @@ public final class LettuceClientInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("io.lettuce.core.RedisClient"); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses("io.lettuce.core.RedisClient"); } diff --git a/dd-java-agent/instrumentation/lettuce-5/src/main/java/datadog/trace/instrumentation/lettuce/LettuceReactiveCommandsInstrumentation.java b/dd-java-agent/instrumentation/lettuce-5/src/main/java/datadog/trace/instrumentation/lettuce/LettuceReactiveCommandsInstrumentation.java index c65b573d4f..e3cd567aed 100644 --- a/dd-java-agent/instrumentation/lettuce-5/src/main/java/datadog/trace/instrumentation/lettuce/LettuceReactiveCommandsInstrumentation.java +++ b/dd-java-agent/instrumentation/lettuce-5/src/main/java/datadog/trace/instrumentation/lettuce/LettuceReactiveCommandsInstrumentation.java @@ -12,6 +12,7 @@ import com.google.auto.service.AutoService; import datadog.trace.agent.tooling.Instrumenter; import java.util.HashMap; import java.util.Map; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -25,12 +26,12 @@ public class LettuceReactiveCommandsInstrumentation extends Instrumenter.Default } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("io.lettuce.core.AbstractRedisReactiveCommands"); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses("io.lettuce.core.RedisClient"); } diff --git a/dd-java-agent/instrumentation/mongo-3.1/src/main/java/datadog/trace/instrumentation/mongo/MongoClientInstrumentation.java b/dd-java-agent/instrumentation/mongo-3.1/src/main/java/datadog/trace/instrumentation/mongo/MongoClientInstrumentation.java index ab8777edd1..7742484811 100644 --- a/dd-java-agent/instrumentation/mongo-3.1/src/main/java/datadog/trace/instrumentation/mongo/MongoClientInstrumentation.java +++ b/dd-java-agent/instrumentation/mongo-3.1/src/main/java/datadog/trace/instrumentation/mongo/MongoClientInstrumentation.java @@ -28,7 +28,7 @@ public final class MongoClientInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("com.mongodb.MongoClientOptions$Builder") .and( declaresMethod( @@ -50,7 +50,7 @@ public final class MongoClientInstrumentation extends Instrumenter.Default { @Override public Map transformers() { - Map transformers = new HashMap<>(); + final Map transformers = new HashMap<>(); transformers.put( isMethod().and(isPublic()).and(named("build")).and(takesArguments(0)), MongoClientAdvice.class.getName()); diff --git a/dd-java-agent/instrumentation/mongo-async-3.3/src/main/java/datadog/trace/instrumentation/mongo/MongoAsyncClientInstrumentation.java b/dd-java-agent/instrumentation/mongo-async-3.3/src/main/java/datadog/trace/instrumentation/mongo/MongoAsyncClientInstrumentation.java index 0d75bea8c2..1adf1338ec 100644 --- a/dd-java-agent/instrumentation/mongo-async-3.3/src/main/java/datadog/trace/instrumentation/mongo/MongoAsyncClientInstrumentation.java +++ b/dd-java-agent/instrumentation/mongo-async-3.3/src/main/java/datadog/trace/instrumentation/mongo/MongoAsyncClientInstrumentation.java @@ -26,7 +26,7 @@ public final class MongoAsyncClientInstrumentation extends Instrumenter.Default } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("com.mongodb.async.client.MongoClientSettings$Builder") .and( declaresMethod( @@ -48,7 +48,7 @@ public final class MongoAsyncClientInstrumentation extends Instrumenter.Default @Override public Map transformers() { - Map transformers = new HashMap<>(); + final Map transformers = new HashMap<>(); transformers.put( isMethod().and(isPublic()).and(named("build")).and(takesArguments(0)), MongoAsyncClientAdvice.class.getName()); diff --git a/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/NettyChannelPipelineInstrumentation.java b/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/NettyChannelPipelineInstrumentation.java index 5cb8977ef3..9c77bb5747 100644 --- a/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/NettyChannelPipelineInstrumentation.java +++ b/dd-java-agent/instrumentation/netty-4.0/src/main/java/datadog/trace/instrumentation/netty40/NettyChannelPipelineInstrumentation.java @@ -29,6 +29,7 @@ import io.netty.handler.codec.http.HttpServerCodec; import java.util.HashMap; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -47,12 +48,12 @@ public class NettyChannelPipelineInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return not(isInterface()).and(safeHasSuperType(named("io.netty.channel.ChannelPipeline"))); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses("io.netty.handler.codec.spdy.SpdyOrHttpChooser"); } 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 3ae8fd5024..0fd6a7c3e1 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 @@ -29,6 +29,7 @@ import io.netty.handler.codec.http.HttpServerCodec; import java.util.HashMap; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -47,12 +48,12 @@ public class NettyChannelPipelineInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return not(isInterface()).and(safeHasSuperType(named("io.netty.channel.ChannelPipeline"))); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses("io.netty.handler.codec.http.HttpHeaderValues"); } diff --git a/dd-java-agent/instrumentation/okhttp-3/src/main/java/datadog/trace/instrumentation/okhttp3/OkHttp3Instrumentation.java b/dd-java-agent/instrumentation/okhttp-3/src/main/java/datadog/trace/instrumentation/okhttp3/OkHttp3Instrumentation.java index 229203f44e..305d0d2779 100644 --- a/dd-java-agent/instrumentation/okhttp-3/src/main/java/datadog/trace/instrumentation/okhttp3/OkHttp3Instrumentation.java +++ b/dd-java-agent/instrumentation/okhttp-3/src/main/java/datadog/trace/instrumentation/okhttp3/OkHttp3Instrumentation.java @@ -13,6 +13,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; import okhttp3.Interceptor; import okhttp3.OkHttpClient; @@ -25,12 +26,12 @@ public class OkHttp3Instrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("okhttp3.OkHttpClient"); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses( "okhttp3.Request", "okhttp3.Response", @@ -60,7 +61,7 @@ public class OkHttp3Instrumentation extends Instrumenter.Default { @Override public Map transformers() { - Map transformers = new HashMap<>(); + final Map transformers = new HashMap<>(); transformers.put( isConstructor().and(takesArgument(0, named("okhttp3.OkHttpClient$Builder"))), OkHttp3Advice.class.getName()); diff --git a/dd-java-agent/instrumentation/osgi-classloading/src/main/java/datadog/trace/instrumentation/osgi/OSGIClassloadingInstrumentation.java b/dd-java-agent/instrumentation/osgi-classloading/src/main/java/datadog/trace/instrumentation/osgi/OSGIClassloadingInstrumentation.java index af2339cd19..b594fd0fc2 100644 --- a/dd-java-agent/instrumentation/osgi-classloading/src/main/java/datadog/trace/instrumentation/osgi/OSGIClassloadingInstrumentation.java +++ b/dd-java-agent/instrumentation/osgi-classloading/src/main/java/datadog/trace/instrumentation/osgi/OSGIClassloadingInstrumentation.java @@ -5,6 +5,7 @@ import datadog.trace.agent.tooling.Instrumenter; import datadog.trace.agent.tooling.Utils; import java.util.Collections; import java.util.Map; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; import net.bytebuddy.matcher.NameMatcher; import net.bytebuddy.matcher.StringMatcher; @@ -16,17 +17,17 @@ public final class OSGIClassloadingInstrumentation extends Instrumenter.Default } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { // OSGI Bundle class loads the sys prop which defines bootstrap classes - return new NameMatcher( + return new NameMatcher<>( new StringMatcher("org.osgi.framework.Bundle", StringMatcher.Mode.EQUALS_FULLY) { @Override - public boolean matches(String target) { + public boolean matches(final String target) { if (super.matches(target)) { // This instrumentation modifies no bytes. // Instead it sets a system prop to tell osgi to delegate // classloads for datadog bootstrap classes - StringBuilder ddPrefixes = new StringBuilder(""); + final StringBuilder ddPrefixes = new StringBuilder(""); for (int i = 0; i < Utils.BOOTSTRAP_PACKAGE_PREFIXES.length; ++i) { if (i > 0) { // must append twice. Once for exact package and wildcard for child packages diff --git a/dd-java-agent/instrumentation/play-2.4/src/main/java/datadog/trace/instrumentation/play/PlayInstrumentation.java b/dd-java-agent/instrumentation/play-2.4/src/main/java/datadog/trace/instrumentation/play/PlayInstrumentation.java index 7f72c276e1..15f41e3c92 100644 --- a/dd-java-agent/instrumentation/play-2.4/src/main/java/datadog/trace/instrumentation/play/PlayInstrumentation.java +++ b/dd-java-agent/instrumentation/play-2.4/src/main/java/datadog/trace/instrumentation/play/PlayInstrumentation.java @@ -27,6 +27,7 @@ import java.util.Iterator; import java.util.Map; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; import org.slf4j.LoggerFactory; import play.api.mvc.Action; @@ -45,12 +46,12 @@ public final class PlayInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return safeHasSuperType(named("play.api.mvc.Action")); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses( "akka.japi.JavaPartialFunction", "play.api.mvc.Action", diff --git a/dd-java-agent/instrumentation/ratpack-1.4/src/main/java/datadog/trace/instrumentation/ratpack/RatpackHttpClientInstrumentation.java b/dd-java-agent/instrumentation/ratpack-1.4/src/main/java/datadog/trace/instrumentation/ratpack/RatpackHttpClientInstrumentation.java index 5ac3701acc..f438aff07c 100644 --- a/dd-java-agent/instrumentation/ratpack-1.4/src/main/java/datadog/trace/instrumentation/ratpack/RatpackHttpClientInstrumentation.java +++ b/dd-java-agent/instrumentation/ratpack-1.4/src/main/java/datadog/trace/instrumentation/ratpack/RatpackHttpClientInstrumentation.java @@ -34,12 +34,12 @@ public final class RatpackHttpClientInstrumentation extends Instrumenter.Default } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return not(isInterface()).and(safeHasSuperType(named("ratpack.http.client.HttpClient"))); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return CLASSLOADER_CONTAINS_RATPACK_1_4_OR_ABOVE; } diff --git a/dd-java-agent/instrumentation/ratpack-1.4/src/main/java/datadog/trace/instrumentation/ratpack/RatpackInstrumentation.java b/dd-java-agent/instrumentation/ratpack-1.4/src/main/java/datadog/trace/instrumentation/ratpack/RatpackInstrumentation.java index 466ba6b732..3b2e37eee9 100644 --- a/dd-java-agent/instrumentation/ratpack-1.4/src/main/java/datadog/trace/instrumentation/ratpack/RatpackInstrumentation.java +++ b/dd-java-agent/instrumentation/ratpack-1.4/src/main/java/datadog/trace/instrumentation/ratpack/RatpackInstrumentation.java @@ -43,12 +43,12 @@ public final class RatpackInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("ratpack.server.internal.ServerRegistry"); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return CLASSLOADER_CONTAINS_RATPACK_1_4_OR_ABOVE; } @@ -90,12 +90,12 @@ public final class RatpackInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return not(isInterface()).and(safeHasSuperType(named("ratpack.exec.ExecStarter"))); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return CLASSLOADER_CONTAINS_RATPACK_1_4_OR_ABOVE; } @@ -134,13 +134,13 @@ public final class RatpackInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("ratpack.exec.Execution") .or(not(isInterface()).and(safeHasSuperType(named("ratpack.exec.Execution")))); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return CLASSLOADER_CONTAINS_RATPACK_1_4_OR_ABOVE; } diff --git a/dd-java-agent/instrumentation/servlet-2/servlet-2.gradle b/dd-java-agent/instrumentation/servlet-2/servlet-2.gradle index 7df467251e..7d798560c6 100644 --- a/dd-java-agent/instrumentation/servlet-2/servlet-2.gradle +++ b/dd-java-agent/instrumentation/servlet-2/servlet-2.gradle @@ -6,8 +6,8 @@ versionScan { versions = "[2.3,)" verifyPresent = [ "javax.servlet.ServletContextEvent": null, - "javax.servlet.FilterChain" : null, ] + // Code should also verify against what servlet-3 instrumentation is using. } apply from: "${rootDir}/gradle/java.gradle" diff --git a/dd-java-agent/instrumentation/servlet-2/src/main/java/datadog/trace/instrumentation/servlet2/AbstractServlet2Instrumentation.java b/dd-java-agent/instrumentation/servlet-2/src/main/java/datadog/trace/instrumentation/servlet2/AbstractServlet2Instrumentation.java new file mode 100644 index 0000000000..c42fd1b0d6 --- /dev/null +++ b/dd-java-agent/instrumentation/servlet-2/src/main/java/datadog/trace/instrumentation/servlet2/AbstractServlet2Instrumentation.java @@ -0,0 +1,28 @@ +package datadog.trace.instrumentation.servlet2; + +import static datadog.trace.agent.tooling.ClassLoaderMatcher.classLoaderHasClasses; +import static net.bytebuddy.matcher.ElementMatchers.not; + +import datadog.trace.agent.tooling.Instrumenter; +import net.bytebuddy.matcher.ElementMatcher; + +public abstract class AbstractServlet2Instrumentation extends Instrumenter.Default { + + public AbstractServlet2Instrumentation() { + super("servlet", "servlet-2"); + } + + @Override + public ElementMatcher classLoaderMatcher() { + return not(classLoaderHasClasses("javax.servlet.AsyncEvent", "javax.servlet.AsyncListener")) + .and(classLoaderHasClasses("javax.servlet.ServletContextEvent")); + } + + @Override + public String[] helperClassNames() { + return new String[] { + "datadog.trace.instrumentation.servlet2.HttpServletRequestExtractAdapter", + "datadog.trace.instrumentation.servlet2.HttpServletRequestExtractAdapter$MultivaluedMapFlatIterator" + }; + } +} diff --git a/dd-java-agent/instrumentation/servlet-2/src/main/java/datadog/trace/instrumentation/servlet2/FilterChain2Instrumentation.java b/dd-java-agent/instrumentation/servlet-2/src/main/java/datadog/trace/instrumentation/servlet2/FilterChain2Instrumentation.java index 37e5b47728..ca2531908b 100644 --- a/dd-java-agent/instrumentation/servlet-2/src/main/java/datadog/trace/instrumentation/servlet2/FilterChain2Instrumentation.java +++ b/dd-java-agent/instrumentation/servlet-2/src/main/java/datadog/trace/instrumentation/servlet2/FilterChain2Instrumentation.java @@ -1,7 +1,6 @@ package datadog.trace.instrumentation.servlet2; 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.isPublic; import static net.bytebuddy.matcher.ElementMatchers.named; @@ -12,33 +11,17 @@ import com.google.auto.service.AutoService; import datadog.trace.agent.tooling.Instrumenter; import java.util.HashMap; import java.util.Map; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) -public final class FilterChain2Instrumentation extends Instrumenter.Default { - - public FilterChain2Instrumentation() { - super("servlet", "servlet-2"); - } +public final class FilterChain2Instrumentation extends AbstractServlet2Instrumentation { @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return not(isInterface()).and(safeHasSuperType(named("javax.servlet.FilterChain"))); } - @Override - public ElementMatcher classLoaderMatcher() { - return not(classLoaderHasClasses("javax.servlet.AsyncEvent", "javax.servlet.AsyncListener")) - .and( - classLoaderHasClasses( - "javax.servlet.ServletContextEvent", "javax.servlet.ServletRequest")); - } - - @Override - public String[] helperClassNames() { - return HttpServlet2Instrumentation.HELPERS; - } - @Override public Map transformers() { final Map transformers = new HashMap<>(); diff --git a/dd-java-agent/instrumentation/servlet-2/src/main/java/datadog/trace/instrumentation/servlet2/HttpServlet2Instrumentation.java b/dd-java-agent/instrumentation/servlet-2/src/main/java/datadog/trace/instrumentation/servlet2/HttpServlet2Instrumentation.java index b294e5ffd1..be7f3a9969 100644 --- a/dd-java-agent/instrumentation/servlet-2/src/main/java/datadog/trace/instrumentation/servlet2/HttpServlet2Instrumentation.java +++ b/dd-java-agent/instrumentation/servlet-2/src/main/java/datadog/trace/instrumentation/servlet2/HttpServlet2Instrumentation.java @@ -1,7 +1,6 @@ package datadog.trace.instrumentation.servlet2; 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.isProtected; import static net.bytebuddy.matcher.ElementMatchers.named; @@ -12,38 +11,17 @@ import com.google.auto.service.AutoService; import datadog.trace.agent.tooling.Instrumenter; import java.util.HashMap; import java.util.Map; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) -public final class HttpServlet2Instrumentation extends Instrumenter.Default { - static final String[] HELPERS = - new String[] { - "datadog.trace.instrumentation.servlet2.HttpServletRequestExtractAdapter", - "datadog.trace.instrumentation.servlet2.HttpServletRequestExtractAdapter$MultivaluedMapFlatIterator" - }; - - public HttpServlet2Instrumentation() { - super("servlet", "servlet-2"); - } +public final class HttpServlet2Instrumentation extends AbstractServlet2Instrumentation { @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return not(isInterface()).and(safeHasSuperType(named("javax.servlet.http.HttpServlet"))); } - @Override - public ElementMatcher classLoaderMatcher() { - return not(classLoaderHasClasses("javax.servlet.AsyncEvent", "javax.servlet.AsyncListener")) - .and( - classLoaderHasClasses( - "javax.servlet.ServletContextEvent", "javax.servlet.FilterChain")); - } - - @Override - public String[] helperClassNames() { - return HELPERS; - } - @Override public Map transformers() { final Map transformers = new HashMap<>(); diff --git a/dd-java-agent/instrumentation/servlet-2/src/main/java/datadog/trace/instrumentation/servlet2/Servlet2Advice.java b/dd-java-agent/instrumentation/servlet-2/src/main/java/datadog/trace/instrumentation/servlet2/Servlet2Advice.java index 56307cce8e..21044d9bef 100644 --- a/dd-java-agent/instrumentation/servlet-2/src/main/java/datadog/trace/instrumentation/servlet2/Servlet2Advice.java +++ b/dd-java-agent/instrumentation/servlet-2/src/main/java/datadog/trace/instrumentation/servlet2/Servlet2Advice.java @@ -15,7 +15,6 @@ import java.util.Collections; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import net.bytebuddy.asm.Advice; public class Servlet2Advice { @@ -65,13 +64,13 @@ public class Servlet2Advice { @Advice.Thrown final Throwable throwable) { if (scope != null) { - if (request instanceof HttpServletRequest && response instanceof HttpServletResponse) { - final Span span = scope.span(); + final Span span = scope.span(); - if (throwable != null) { - Tags.ERROR.set(span, Boolean.TRUE); - span.log(Collections.singletonMap(ERROR_OBJECT, throwable)); - } + // HttpServletResponse doesn't have accessor for status code. + + if (throwable != null) { + Tags.ERROR.set(span, Boolean.TRUE); + span.log(Collections.singletonMap(ERROR_OBJECT, throwable)); } if (scope instanceof TraceScope) { ((TraceScope) scope).setAsyncPropagation(false); diff --git a/dd-java-agent/instrumentation/servlet-2/src/test/resources/realm.properties b/dd-java-agent/instrumentation/servlet-2/src/test/resources/realm.properties index 7395dd168b..cacb917078 100644 --- a/dd-java-agent/instrumentation/servlet-2/src/test/resources/realm.properties +++ b/dd-java-agent/instrumentation/servlet-2/src/test/resources/realm.properties @@ -1 +1 @@ -user: password,role +user:password,role diff --git a/dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/AbstractServlet3Instrumentation.java b/dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/AbstractServlet3Instrumentation.java index 8f3de24845..8c0db6d660 100644 --- a/dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/AbstractServlet3Instrumentation.java +++ b/dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/AbstractServlet3Instrumentation.java @@ -1,31 +1,18 @@ package datadog.trace.instrumentation.servlet3; -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.isPublic; -import static net.bytebuddy.matcher.ElementMatchers.named; -import static net.bytebuddy.matcher.ElementMatchers.not; -import static net.bytebuddy.matcher.ElementMatchers.takesArgument; import datadog.trace.agent.tooling.Instrumenter; -import java.util.HashMap; -import java.util.Map; import net.bytebuddy.matcher.ElementMatcher; -public class AbstractServlet3Instrumentation extends Instrumenter.Default { +public abstract class AbstractServlet3Instrumentation extends Instrumenter.Default { public AbstractServlet3Instrumentation() { super("servlet", "servlet-3"); } @Override - public ElementMatcher typeMatcher() { - return not(isInterface()).and(safeHasSuperType(named("javax.servlet.FilterChain"))); - } - - @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { return classLoaderHasClasses("javax.servlet.AsyncEvent", "javax.servlet.AsyncListener"); } @@ -37,16 +24,4 @@ public class AbstractServlet3Instrumentation extends Instrumenter.Default { "datadog.trace.instrumentation.servlet3.TagSettingAsyncListener" }; } - - @Override - public Map transformers() { - final Map transformers = new HashMap<>(); - transformers.put( - named("doFilter") - .and(takesArgument(0, named("javax.servlet.ServletRequest"))) - .and(takesArgument(1, named("javax.servlet.ServletResponse"))) - .and(isPublic()), - Servlet3Advice.class.getName()); - return transformers; - } } diff --git a/dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/FilterChain3Instrumentation.java b/dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/FilterChain3Instrumentation.java index 41b6e537c9..cf22f3f398 100644 --- a/dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/FilterChain3Instrumentation.java +++ b/dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/FilterChain3Instrumentation.java @@ -11,13 +11,14 @@ import com.google.auto.service.AutoService; import datadog.trace.agent.tooling.Instrumenter; import java.util.HashMap; import java.util.Map; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) public final class FilterChain3Instrumentation extends AbstractServlet3Instrumentation { @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return not(isInterface()).and(safeHasSuperType(named("javax.servlet.FilterChain"))); } diff --git a/dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/HttpServlet3Instrumentation.java b/dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/HttpServlet3Instrumentation.java index b6d72be6c4..fc4afda416 100644 --- a/dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/HttpServlet3Instrumentation.java +++ b/dd-java-agent/instrumentation/servlet-3/src/main/java/datadog/trace/instrumentation/servlet3/HttpServlet3Instrumentation.java @@ -11,13 +11,14 @@ import com.google.auto.service.AutoService; import datadog.trace.agent.tooling.Instrumenter; import java.util.HashMap; import java.util.Map; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) public final class HttpServlet3Instrumentation extends AbstractServlet3Instrumentation { @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return not(isInterface()).and(safeHasSuperType(named("javax.servlet.http.HttpServlet"))); } diff --git a/dd-java-agent/instrumentation/servlet-3/src/test/resources/realm.properties b/dd-java-agent/instrumentation/servlet-3/src/test/resources/realm.properties index 7395dd168b..cacb917078 100644 --- a/dd-java-agent/instrumentation/servlet-3/src/test/resources/realm.properties +++ b/dd-java-agent/instrumentation/servlet-3/src/test/resources/realm.properties @@ -1 +1 @@ -user: password,role +user:password,role diff --git a/dd-java-agent/instrumentation/sparkjava-2.4/src/main/java/datadog/trace/instrumentation/sparkjava/RoutesInstrumentation.java b/dd-java-agent/instrumentation/sparkjava-2.4/src/main/java/datadog/trace/instrumentation/sparkjava/RoutesInstrumentation.java index 6b292b5111..7b52e9e01c 100644 --- a/dd-java-agent/instrumentation/sparkjava-2.4/src/main/java/datadog/trace/instrumentation/sparkjava/RoutesInstrumentation.java +++ b/dd-java-agent/instrumentation/sparkjava-2.4/src/main/java/datadog/trace/instrumentation/sparkjava/RoutesInstrumentation.java @@ -13,6 +13,7 @@ import io.opentracing.util.GlobalTracer; import java.util.HashMap; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; import spark.route.HttpMethod; import spark.routematch.RouteMatch; @@ -30,13 +31,13 @@ public class RoutesInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("spark.route.Routes"); } @Override public Map transformers() { - Map transformers = new HashMap<>(); + final Map transformers = new HashMap<>(); transformers.put( named("find") .and(takesArgument(0, named("spark.route.HttpMethod"))) diff --git a/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/MemcachedClientInstrumentation.java b/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/MemcachedClientInstrumentation.java index 6737bbb4e0..1d0a81d30e 100644 --- a/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/MemcachedClientInstrumentation.java +++ b/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/MemcachedClientInstrumentation.java @@ -15,6 +15,7 @@ import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; import net.spy.memcached.MemcachedClient; import net.spy.memcached.internal.BulkFuture; @@ -33,12 +34,12 @@ public final class MemcachedClientInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named(MEMCACHED_PACKAGE + ".MemcachedClient"); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { // Target 2.12 that has this method return classLoaderHasClassWithMethod( MEMCACHED_PACKAGE + ".ConnectionFactoryBuilder", diff --git a/dd-java-agent/instrumentation/trace-annotation/src/main/java/datadog/trace/instrumentation/trace_annotation/TraceAnnotationsInstrumentation.java b/dd-java-agent/instrumentation/trace-annotation/src/main/java/datadog/trace/instrumentation/trace_annotation/TraceAnnotationsInstrumentation.java index 965e05f520..7e29dc6c5d 100644 --- a/dd-java-agent/instrumentation/trace-annotation/src/main/java/datadog/trace/instrumentation/trace_annotation/TraceAnnotationsInstrumentation.java +++ b/dd-java-agent/instrumentation/trace-annotation/src/main/java/datadog/trace/instrumentation/trace_annotation/TraceAnnotationsInstrumentation.java @@ -78,7 +78,7 @@ public final class TraceAnnotationsInstrumentation extends Instrumenter.Default } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return safeHasSuperType(declaresMethod(isAnnotatedWith(methodTraceMatcher))); } diff --git a/dd-java-agent/instrumentation/trace-annotation/src/main/java/datadog/trace/instrumentation/trace_annotation/TraceConfigInstrumentation.java b/dd-java-agent/instrumentation/trace-annotation/src/main/java/datadog/trace/instrumentation/trace_annotation/TraceConfigInstrumentation.java index 02e71c8171..15b5d1f4df 100644 --- a/dd-java-agent/instrumentation/trace-annotation/src/main/java/datadog/trace/instrumentation/trace_annotation/TraceConfigInstrumentation.java +++ b/dd-java-agent/instrumentation/trace-annotation/src/main/java/datadog/trace/instrumentation/trace_annotation/TraceConfigInstrumentation.java @@ -116,7 +116,7 @@ public class TraceConfigInstrumentation implements Instrumenter { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return safeHasSuperType(named(className)); } @@ -138,12 +138,12 @@ public class TraceConfigInstrumentation implements Instrumenter { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { throw new RuntimeException("TracerConfigInstrumentation must not use TypeMatcher"); } @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderMatcher() { throw new RuntimeException("TracerConfigInstrumentation must not use classLoaderMatcher"); } diff --git a/dd-java-agent/testing/src/test/java/IBMResourceLevelInstrumentation.java b/dd-java-agent/testing/src/test/java/IBMResourceLevelInstrumentation.java index f08c57d064..62d06bd6b2 100644 --- a/dd-java-agent/testing/src/test/java/IBMResourceLevelInstrumentation.java +++ b/dd-java-agent/testing/src/test/java/IBMResourceLevelInstrumentation.java @@ -5,6 +5,7 @@ import datadog.trace.agent.tooling.Instrumenter; import java.util.HashMap; import java.util.Map; import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @AutoService(Instrumenter.class) @@ -14,13 +15,13 @@ public class IBMResourceLevelInstrumentation extends Instrumenter.Default { } @Override - public ElementMatcher typeMatcher() { + public ElementMatcher typeMatcher() { return named("com.ibm.as400.resource.ResourceLevel"); } @Override public Map transformers() { - Map transformers = new HashMap<>(); + final Map transformers = new HashMap<>(); transformers.put(named("toString"), ToStringAdvice.class.getName()); return transformers; }