From 45646ff367ba605141d389656303eb10768225a7 Mon Sep 17 00:00:00 2001 From: Mateusz Rzeszutek Date: Tue, 24 Nov 2020 13:27:58 +0100 Subject: [PATCH] Rename TypeInstrumentation#classLoaderMatcher() to classLoaderOptimization() (#1741) * Rename TypeInstrumentation#classLoaderMatcher() to classLoaderOptimization() * Removed no longer needed comments & improved JavaDoc * Improve TypeInstrumentation Javadoc --- .../AkkaForkJoinTaskInstrumentation.java | 3 +- .../ApacheCamelInstrumentationModule.java | 3 +- .../ApacheHttpAsyncClientInstrumentation.java | 3 +- ...acheHttpClientRedirectInstrumentation.java | 3 +- ...ApacheHttpClientInstrumentationModule.java | 3 +- ...ApacheHttpClientInstrumentationModule.java | 3 +- .../ResponseInstrumentation.java | 2 +- ...wsLambdaRequestHandlerInstrumentation.java | 2 +- .../awssdk/v1_11/RequestInstrumentation.java | 3 +- .../v2_2/AwsHttpClientInstrumentation.java | 3 +- .../v2_6/CouchbaseNetworkInstrumentation.java | 3 +- .../DropwizardViewsInstrumentationModule.java | 3 +- ...TraceAnnotationsInstrumentationModule.java | 22 ++++++--------- .../TraceConfigInstrumentationModule.java | 3 +- .../finatra/FinatraInstrumentationModule.java | 3 +- .../geode/GeodeInstrumentationModule.java | 3 +- .../grizzly/FilterInstrumentation.java | 2 +- ...GrpcClientBuilderBuildInstrumentation.java | 3 +- .../v3_3/CriteriaInstrumentation.java | 3 +- .../hibernate/v3_3/QueryInstrumentation.java | 3 +- .../v3_3/SessionFactoryInstrumentation.java | 3 +- .../v3_3/SessionInstrumentation.java | 3 +- .../v3_3/TransactionInstrumentation.java | 3 +- .../v4_0/CriteriaInstrumentation.java | 3 +- .../hibernate/v4_0/QueryInstrumentation.java | 3 +- .../v4_0/SessionFactoryInstrumentation.java | 3 +- .../v4_0/SessionInstrumentation.java | 3 +- .../v4_0/TransactionInstrumentation.java | 3 +- .../v4_3/ProcedureCallInstrumentation.java | 3 +- .../v4_3/SessionInstrumentation.java | 3 +- .../hystrix/HystrixInstrumentationModule.java | 3 +- .../httpclient/HttpClientInstrumentation.java | 3 +- .../JaxRsClientInstrumentationModule.java | 3 +- .../JaxRsClientInstrumentationModule.java | 3 +- .../v1_0/JaxRsAnnotationsInstrumentation.java | 3 +- ...AbstractRequestContextInstrumentation.java | 3 +- ...ContainerRequestFilterInstrumentation.java | 3 +- .../v2_0/JaxRsAnnotationsInstrumentation.java | 3 +- .../JaxRsAsyncResponseInstrumentation.java | 3 +- .../jdbc/ConnectionInstrumentation.java | 2 +- .../jdbc/DriverInstrumentation.java | 2 +- .../PreparedStatementInstrumentation.java | 2 +- .../jdbc/StatementInstrumentation.java | 2 +- .../jetty/JettyInstrumentationModule.java | 3 +- .../JmsMessageConsumerInstrumentation.java | 3 +- .../JmsMessageListenerInstrumentation.java | 3 +- .../JmsMessageProducerInstrumentation.java | 3 +- .../jms/JmsSessionInstrumentation.java | 3 +- .../jsp/HttpJspPageInstrumentation.java | 3 +- .../khttp/KHttpInstrumentationModule.java | 2 +- ...KubernetesClientInstrumentationModule.java | 3 +- .../ChannelFutureListenerInstrumentation.java | 3 +- .../v3_8/NettyChannelInstrumentation.java | 3 +- .../NettyChannelPipelineInstrumentation.java | 3 +- .../ChannelFutureListenerInstrumentation.java | 3 +- .../NettyChannelPipelineInstrumentation.java | 3 +- .../ChannelFutureListenerInstrumentation.java | 3 +- .../NettyChannelPipelineInstrumentation.java | 3 +- .../oshi/OshiInstrumentationModule.java | 2 +- .../AsyncHttpClientInstrumentation.java | 3 +- .../play/v2_3/PlayInstrumentationModule.java | 3 +- .../play/v2_4/PlayInstrumentationModule.java | 3 +- .../play/v2_6/PlayInstrumentationModule.java | 3 +- .../RabbitChannelInstrumentation.java | 3 +- .../RabbitCommandInstrumentation.java | 3 +- .../ratpack/ContinuationInstrumentation.java | 3 +- .../ServerErrorHandlerInstrumentation.java | 3 +- .../RediscalaInstrumentationModule.java | 2 +- .../ScalaForkJoinTaskInstrumentation.java | 3 +- .../HttpServletResponseInstrumentation.java | 2 +- .../v2_2/ServletAndFilterInstrumentation.java | 3 +- .../v3_0/AsyncContextInstrumentation.java | 3 +- .../v3_0/ServletAndFilterInstrumentation.java | 3 +- ...equestDispatcherInstrumentationModule.java | 3 +- ...pServletResponseInstrumentationModule.java | 3 +- .../WebfluxClientInstrumentationModule.java | 3 +- .../server/HandlerAdapterInstrumentation.java | 3 +- .../server/RouterFunctionInstrumentation.java | 3 +- .../HandlerAdapterInstrumentation.java | 3 +- .../WebApplicationContextInstrumentation.java | 3 +- .../ActionInvocationInstrumentation.java | 2 +- .../twilio/TwilioAsyncInstrumentation.java | 3 +- .../twilio/TwilioSyncInstrumentation.java | 3 +- .../VertxRxInstrumentationModule.java | 2 +- .../vertx/VertxWebInstrumentationModule.java | 2 +- .../tooling/InstrumentationModule.java | 2 +- .../tooling/TypeInstrumentation.java | 28 +++++++++++++++---- 87 files changed, 115 insertions(+), 175 deletions(-) diff --git a/instrumentation/akka-actor-2.5/src/main/java/io/opentelemetry/javaagent/instrumentation/akkaactor/AkkaForkJoinTaskInstrumentation.java b/instrumentation/akka-actor-2.5/src/main/java/io/opentelemetry/javaagent/instrumentation/akkaactor/AkkaForkJoinTaskInstrumentation.java index 659014d324..92ddc924ef 100644 --- a/instrumentation/akka-actor-2.5/src/main/java/io/opentelemetry/javaagent/instrumentation/akkaactor/AkkaForkJoinTaskInstrumentation.java +++ b/instrumentation/akka-actor-2.5/src/main/java/io/opentelemetry/javaagent/instrumentation/akkaactor/AkkaForkJoinTaskInstrumentation.java @@ -38,8 +38,7 @@ final class AkkaForkJoinTaskInstrumentation implements TypeInstrumentation { static final String TASK_CLASS_NAME = "akka.dispatch.forkjoin.ForkJoinTask"; @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed(TASK_CLASS_NAME); } diff --git a/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/ApacheCamelInstrumentationModule.java b/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/ApacheCamelInstrumentationModule.java index d3bca68207..0c5d95bfc6 100644 --- a/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/ApacheCamelInstrumentationModule.java +++ b/instrumentation/apache-camel-2.20/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/ApacheCamelInstrumentationModule.java @@ -67,8 +67,7 @@ public class ApacheCamelInstrumentationModule extends InstrumentationModule { private static final class CamelContextInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.apache.camel.CamelContext"); } diff --git a/instrumentation/apache-httpasyncclient-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientInstrumentation.java b/instrumentation/apache-httpasyncclient-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientInstrumentation.java index 21fca9f34f..6c3517eabb 100644 --- a/instrumentation/apache-httpasyncclient-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientInstrumentation.java +++ b/instrumentation/apache-httpasyncclient-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpAsyncClientInstrumentation.java @@ -41,8 +41,7 @@ import org.apache.http.protocol.HttpCoreContext; final class ApacheHttpAsyncClientInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.apache.http.nio.client.HttpAsyncClient"); } diff --git a/instrumentation/apache-httpasyncclient-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpClientRedirectInstrumentation.java b/instrumentation/apache-httpasyncclient-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpClientRedirectInstrumentation.java index f2caa8d947..910f503ef0 100644 --- a/instrumentation/apache-httpasyncclient-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpClientRedirectInstrumentation.java +++ b/instrumentation/apache-httpasyncclient-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/ApacheHttpClientRedirectInstrumentation.java @@ -30,8 +30,7 @@ import org.apache.http.HttpRequest; public class ApacheHttpClientRedirectInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.apache.http.client.RedirectStrategy"); } diff --git a/instrumentation/apache-httpclient/apache-httpclient-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v2_0/ApacheHttpClientInstrumentationModule.java b/instrumentation/apache-httpclient/apache-httpclient-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v2_0/ApacheHttpClientInstrumentationModule.java index 17be22abc8..815b86b0ed 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v2_0/ApacheHttpClientInstrumentationModule.java +++ b/instrumentation/apache-httpclient/apache-httpclient-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v2_0/ApacheHttpClientInstrumentationModule.java @@ -50,8 +50,7 @@ public class ApacheHttpClientInstrumentationModule extends InstrumentationModule private static final class HttpClientInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.apache.commons.httpclient.HttpClient"); } diff --git a/instrumentation/apache-httpclient/apache-httpclient-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/ApacheHttpClientInstrumentationModule.java b/instrumentation/apache-httpclient/apache-httpclient-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/ApacheHttpClientInstrumentationModule.java index 633ff20844..4e8fd73597 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/ApacheHttpClientInstrumentationModule.java +++ b/instrumentation/apache-httpclient/apache-httpclient-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/ApacheHttpClientInstrumentationModule.java @@ -59,8 +59,7 @@ public class ApacheHttpClientInstrumentationModule extends InstrumentationModule private static final class HttpClientInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.apache.http.client.HttpClient"); } diff --git a/instrumentation/async-http-client-1.9/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/ResponseInstrumentation.java b/instrumentation/async-http-client-1.9/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/ResponseInstrumentation.java index 55e45aeec5..2b5d05d5ee 100644 --- a/instrumentation/async-http-client-1.9/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/ResponseInstrumentation.java +++ b/instrumentation/async-http-client-1.9/src/main/java/io/opentelemetry/javaagent/instrumentation/asynchttpclient/ResponseInstrumentation.java @@ -21,7 +21,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class ResponseInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("com.ning.http.client.AsyncCompletionHandler"); } diff --git a/instrumentation/aws-lambda-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambda/v1_0/AwsLambdaRequestHandlerInstrumentation.java b/instrumentation/aws-lambda-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambda/v1_0/AwsLambdaRequestHandlerInstrumentation.java index f6afff1d8f..383dd55cf8 100644 --- a/instrumentation/aws-lambda-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambda/v1_0/AwsLambdaRequestHandlerInstrumentation.java +++ b/instrumentation/aws-lambda-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambda/v1_0/AwsLambdaRequestHandlerInstrumentation.java @@ -33,7 +33,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class AwsLambdaRequestHandlerInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("com.amazonaws.services.lambda.runtime.RequestHandler"); } diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v1_11/RequestInstrumentation.java b/instrumentation/aws-sdk/aws-sdk-1.11/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v1_11/RequestInstrumentation.java index 2dc6261731..3988bdada7 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v1_11/RequestInstrumentation.java +++ b/instrumentation/aws-sdk/aws-sdk-1.11/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v1_11/RequestInstrumentation.java @@ -25,8 +25,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class RequestInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("com.amazonaws.AmazonWebServiceRequest"); } diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v2_2/AwsHttpClientInstrumentation.java b/instrumentation/aws-sdk/aws-sdk-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v2_2/AwsHttpClientInstrumentation.java index 2ce200d542..5689ea4efb 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v2_2/AwsHttpClientInstrumentation.java +++ b/instrumentation/aws-sdk/aws-sdk-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v2_2/AwsHttpClientInstrumentation.java @@ -31,8 +31,7 @@ import software.amazon.awssdk.core.internal.http.pipeline.stages.MakeAsyncHttpRe final class AwsHttpClientInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed( "software.amazon.awssdk.core.internal.http.pipeline.stages.MakeHttpRequestStage"); } diff --git a/instrumentation/couchbase/couchbase-2.6/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_6/CouchbaseNetworkInstrumentation.java b/instrumentation/couchbase/couchbase-2.6/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_6/CouchbaseNetworkInstrumentation.java index 0d934636f8..8734791cf1 100644 --- a/instrumentation/couchbase/couchbase-2.6/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_6/CouchbaseNetworkInstrumentation.java +++ b/instrumentation/couchbase/couchbase-2.6/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_6/CouchbaseNetworkInstrumentation.java @@ -30,8 +30,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class CouchbaseNetworkInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("com.couchbase.client.core.endpoint.AbstractGenericHandler"); } diff --git a/instrumentation/dropwizard-views-0.7/src/main/java/io/opentelemetry/javaagent/instrumentation/dropwizardviews/DropwizardViewsInstrumentationModule.java b/instrumentation/dropwizard-views-0.7/src/main/java/io/opentelemetry/javaagent/instrumentation/dropwizardviews/DropwizardViewsInstrumentationModule.java index c7c56cbe48..1cd204e0b0 100644 --- a/instrumentation/dropwizard-views-0.7/src/main/java/io/opentelemetry/javaagent/instrumentation/dropwizardviews/DropwizardViewsInstrumentationModule.java +++ b/instrumentation/dropwizard-views-0.7/src/main/java/io/opentelemetry/javaagent/instrumentation/dropwizardviews/DropwizardViewsInstrumentationModule.java @@ -47,8 +47,7 @@ public final class DropwizardViewsInstrumentationModule extends InstrumentationM private static final class ViewRendererInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("io.dropwizard.views.ViewRenderer"); } diff --git a/instrumentation/external-annotations/src/main/java/io/opentelemetry/javaagent/instrumentation/traceannotation/TraceAnnotationsInstrumentationModule.java b/instrumentation/external-annotations/src/main/java/io/opentelemetry/javaagent/instrumentation/traceannotation/TraceAnnotationsInstrumentationModule.java index da506febe1..7e4529bf1f 100644 --- a/instrumentation/external-annotations/src/main/java/io/opentelemetry/javaagent/instrumentation/traceannotation/TraceAnnotationsInstrumentationModule.java +++ b/instrumentation/external-annotations/src/main/java/io/opentelemetry/javaagent/instrumentation/traceannotation/TraceAnnotationsInstrumentationModule.java @@ -84,6 +84,7 @@ public final class TraceAnnotationsInstrumentationModule extends Instrumentation private static final class AnnotatedMethodsInstrumentation implements TypeInstrumentation { private final Set additionalTraceAnnotations; + private final ElementMatcher.Junction classLoaderOptimization; private final ElementMatcher.Junction traceAnnotationMatcher; /** This matcher matches all methods that should be excluded from transformation. */ private final ElementMatcher.Junction excludedMethodsMatcher; @@ -92,16 +93,21 @@ public final class TraceAnnotationsInstrumentationModule extends Instrumentation additionalTraceAnnotations = configureAdditionalTraceAnnotations(); if (additionalTraceAnnotations.isEmpty()) { + classLoaderOptimization = none(); traceAnnotationMatcher = none(); } else { + ElementMatcher.Junction classLoaderMatcher = null; ElementMatcher.Junction methodTraceMatcher = null; for (String annotationName : additionalTraceAnnotations) { if (methodTraceMatcher == null) { + classLoaderMatcher = hasClassesNamed(annotationName); methodTraceMatcher = named(annotationName); } else { + classLoaderMatcher = classLoaderMatcher.or(hasClassesNamed(annotationName)); methodTraceMatcher = methodTraceMatcher.or(named(annotationName)); } } + this.classLoaderOptimization = classLoaderMatcher; this.traceAnnotationMatcher = methodTraceMatcher; } @@ -109,20 +115,8 @@ public final class TraceAnnotationsInstrumentationModule extends Instrumentation } @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. - ElementMatcher.Junction matcher = null; - for (String name : additionalTraceAnnotations) { - if (matcher == null) { - matcher = hasClassesNamed(name); - } else { - matcher = matcher.or(hasClassesNamed(name)); - } - } - if (matcher == null) { - return none(); - } - return matcher; + public ElementMatcher classLoaderOptimization() { + return classLoaderOptimization; } @Override diff --git a/instrumentation/external-annotations/src/main/java/io/opentelemetry/javaagent/instrumentation/traceannotation/TraceConfigInstrumentationModule.java b/instrumentation/external-annotations/src/main/java/io/opentelemetry/javaagent/instrumentation/traceannotation/TraceConfigInstrumentationModule.java index 6507d97788..96f91fea6e 100644 --- a/instrumentation/external-annotations/src/main/java/io/opentelemetry/javaagent/instrumentation/traceannotation/TraceConfigInstrumentationModule.java +++ b/instrumentation/external-annotations/src/main/java/io/opentelemetry/javaagent/instrumentation/traceannotation/TraceConfigInstrumentationModule.java @@ -86,8 +86,7 @@ public class TraceConfigInstrumentationModule extends InstrumentationModule { } @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed(className); } diff --git a/instrumentation/finatra-2.9/src/main/java/io/opentelemetry/javaagent/instrumentation/finatra/FinatraInstrumentationModule.java b/instrumentation/finatra-2.9/src/main/java/io/opentelemetry/javaagent/instrumentation/finatra/FinatraInstrumentationModule.java index c5606525d0..2d225e01b4 100644 --- a/instrumentation/finatra-2.9/src/main/java/io/opentelemetry/javaagent/instrumentation/finatra/FinatraInstrumentationModule.java +++ b/instrumentation/finatra-2.9/src/main/java/io/opentelemetry/javaagent/instrumentation/finatra/FinatraInstrumentationModule.java @@ -54,8 +54,7 @@ public class FinatraInstrumentationModule extends InstrumentationModule { private static final class RouteInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("com.twitter.finatra.http.internal.routing.Route"); } diff --git a/instrumentation/geode-1.4/src/main/java/io/opentelemetry/javaagent/instrumentation/geode/GeodeInstrumentationModule.java b/instrumentation/geode-1.4/src/main/java/io/opentelemetry/javaagent/instrumentation/geode/GeodeInstrumentationModule.java index 45731c915a..e69ad296c2 100644 --- a/instrumentation/geode-1.4/src/main/java/io/opentelemetry/javaagent/instrumentation/geode/GeodeInstrumentationModule.java +++ b/instrumentation/geode-1.4/src/main/java/io/opentelemetry/javaagent/instrumentation/geode/GeodeInstrumentationModule.java @@ -50,8 +50,7 @@ public class GeodeInstrumentationModule extends InstrumentationModule { private static final class RegionInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // optimization for expensive typeMatcher + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.apache.geode.cache.Region"); } diff --git a/instrumentation/grizzly-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/FilterInstrumentation.java b/instrumentation/grizzly-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/FilterInstrumentation.java index 99c6867fa2..ee1746a091 100644 --- a/instrumentation/grizzly-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/FilterInstrumentation.java +++ b/instrumentation/grizzly-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/FilterInstrumentation.java @@ -23,7 +23,7 @@ import net.bytebuddy.matcher.ElementMatchers; final class FilterInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.glassfish.grizzly.filterchain.BaseFilter"); } diff --git a/instrumentation/grpc-1.5/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grpc/v1_5/GrpcClientBuilderBuildInstrumentation.java b/instrumentation/grpc-1.5/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grpc/v1_5/GrpcClientBuilderBuildInstrumentation.java index 600244ca6f..0f9f55b25c 100644 --- a/instrumentation/grpc-1.5/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grpc/v1_5/GrpcClientBuilderBuildInstrumentation.java +++ b/instrumentation/grpc-1.5/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grpc/v1_5/GrpcClientBuilderBuildInstrumentation.java @@ -24,8 +24,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class GrpcClientBuilderBuildInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // optimization for expensive typeMatcher + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("io.grpc.ManagedChannelBuilder"); } diff --git a/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/CriteriaInstrumentation.java b/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/CriteriaInstrumentation.java index 682cda7c20..03a4dfdbe3 100644 --- a/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/CriteriaInstrumentation.java +++ b/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/CriteriaInstrumentation.java @@ -29,8 +29,7 @@ import org.hibernate.Criteria; final class CriteriaInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.hibernate.Criteria"); } diff --git a/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/QueryInstrumentation.java b/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/QueryInstrumentation.java index 11070598c1..baf9d66a93 100644 --- a/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/QueryInstrumentation.java +++ b/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/QueryInstrumentation.java @@ -28,8 +28,7 @@ import org.hibernate.Query; final class QueryInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.hibernate.Query"); } diff --git a/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/SessionFactoryInstrumentation.java b/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/SessionFactoryInstrumentation.java index 781e15c6f2..0d79e75dc3 100644 --- a/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/SessionFactoryInstrumentation.java +++ b/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/SessionFactoryInstrumentation.java @@ -34,8 +34,7 @@ import org.hibernate.StatelessSession; final class SessionFactoryInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.hibernate.SessionFactory"); } diff --git a/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/SessionInstrumentation.java b/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/SessionInstrumentation.java index 794da1c30a..6f9687da6d 100644 --- a/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/SessionInstrumentation.java +++ b/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/SessionInstrumentation.java @@ -41,8 +41,7 @@ import org.hibernate.Transaction; final class SessionInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.hibernate.Session", "org.hibernate.StatelessSession"); } diff --git a/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/TransactionInstrumentation.java b/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/TransactionInstrumentation.java index d2c6b58609..c47a1dddfc 100644 --- a/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/TransactionInstrumentation.java +++ b/instrumentation/hibernate/hibernate-3.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/TransactionInstrumentation.java @@ -28,8 +28,7 @@ import org.hibernate.Transaction; final class TransactionInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.hibernate.Transaction"); } diff --git a/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/CriteriaInstrumentation.java b/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/CriteriaInstrumentation.java index 070d16f0e9..7ecf19aa50 100644 --- a/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/CriteriaInstrumentation.java +++ b/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/CriteriaInstrumentation.java @@ -29,8 +29,7 @@ import org.hibernate.Criteria; final class CriteriaInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.hibernate.Criteria"); } diff --git a/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/QueryInstrumentation.java b/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/QueryInstrumentation.java index 8809ce83cc..0731e6865d 100644 --- a/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/QueryInstrumentation.java +++ b/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/QueryInstrumentation.java @@ -28,8 +28,7 @@ import org.hibernate.Query; final class QueryInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.hibernate.Query"); } diff --git a/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionFactoryInstrumentation.java b/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionFactoryInstrumentation.java index 7ce25a95f3..4dbd0daaf1 100644 --- a/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionFactoryInstrumentation.java +++ b/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionFactoryInstrumentation.java @@ -32,8 +32,7 @@ import org.hibernate.SharedSessionContract; final class SessionFactoryInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.hibernate.SessionFactory"); } diff --git a/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionInstrumentation.java b/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionInstrumentation.java index 218fcfc4b3..aa000050e1 100644 --- a/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionInstrumentation.java +++ b/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionInstrumentation.java @@ -40,8 +40,7 @@ import org.hibernate.Transaction; final class SessionInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.hibernate.SharedSessionContract"); } diff --git a/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/TransactionInstrumentation.java b/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/TransactionInstrumentation.java index f0e0a38a26..588ef22491 100644 --- a/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/TransactionInstrumentation.java +++ b/instrumentation/hibernate/hibernate-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/TransactionInstrumentation.java @@ -28,8 +28,7 @@ import org.hibernate.Transaction; final class TransactionInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.hibernate.Transaction"); } diff --git a/instrumentation/hibernate/hibernate-4.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_3/ProcedureCallInstrumentation.java b/instrumentation/hibernate/hibernate-4.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_3/ProcedureCallInstrumentation.java index 1db3ba6bfd..3a604ac597 100644 --- a/instrumentation/hibernate/hibernate-4.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_3/ProcedureCallInstrumentation.java +++ b/instrumentation/hibernate/hibernate-4.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_3/ProcedureCallInstrumentation.java @@ -27,8 +27,7 @@ import org.hibernate.procedure.ProcedureCall; final class ProcedureCallInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.hibernate.procedure.ProcedureCall"); } diff --git a/instrumentation/hibernate/hibernate-4.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_3/SessionInstrumentation.java b/instrumentation/hibernate/hibernate-4.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_3/SessionInstrumentation.java index 2e8ba6bd29..dff1bbf8be 100644 --- a/instrumentation/hibernate/hibernate-4.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_3/SessionInstrumentation.java +++ b/instrumentation/hibernate/hibernate-4.3/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_3/SessionInstrumentation.java @@ -29,8 +29,7 @@ import org.hibernate.procedure.ProcedureCall; final class SessionInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.hibernate.SharedSessionContract"); } diff --git a/instrumentation/hystrix-1.4/src/main/java/io/opentelemetry/javaagent/instrumentation/hystrix/HystrixInstrumentationModule.java b/instrumentation/hystrix-1.4/src/main/java/io/opentelemetry/javaagent/instrumentation/hystrix/HystrixInstrumentationModule.java index 9a8d593403..154861bc84 100644 --- a/instrumentation/hystrix-1.4/src/main/java/io/opentelemetry/javaagent/instrumentation/hystrix/HystrixInstrumentationModule.java +++ b/instrumentation/hystrix-1.4/src/main/java/io/opentelemetry/javaagent/instrumentation/hystrix/HystrixInstrumentationModule.java @@ -57,8 +57,7 @@ public class HystrixInstrumentationModule extends InstrumentationModule { private static final class HystrixCommandInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed( "com.netflix.hystrix.HystrixCommand", "com.netflix.hystrix.HystrixObservableCommand"); } diff --git a/instrumentation/java-httpclient/src/main/java/io/opentelemetry/javaagent/instrumentation/httpclient/HttpClientInstrumentation.java b/instrumentation/java-httpclient/src/main/java/io/opentelemetry/javaagent/instrumentation/httpclient/HttpClientInstrumentation.java index 8051ab61f9..09f3f9dc1e 100644 --- a/instrumentation/java-httpclient/src/main/java/io/opentelemetry/javaagent/instrumentation/httpclient/HttpClientInstrumentation.java +++ b/instrumentation/java-httpclient/src/main/java/io/opentelemetry/javaagent/instrumentation/httpclient/HttpClientInstrumentation.java @@ -33,8 +33,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class HttpClientInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("java.net.http.HttpClient"); } diff --git a/instrumentation/jaxrs-client/jaxrs-client-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrsclient/v1_1/JaxRsClientInstrumentationModule.java b/instrumentation/jaxrs-client/jaxrs-client-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrsclient/v1_1/JaxRsClientInstrumentationModule.java index 684bae3292..f65329aa2b 100644 --- a/instrumentation/jaxrs-client/jaxrs-client-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrsclient/v1_1/JaxRsClientInstrumentationModule.java +++ b/instrumentation/jaxrs-client/jaxrs-client-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrsclient/v1_1/JaxRsClientInstrumentationModule.java @@ -52,8 +52,7 @@ public final class JaxRsClientInstrumentationModule extends InstrumentationModul private static final class ClientHandlerInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("com.sun.jersey.api.client.ClientHandler"); } diff --git a/instrumentation/jaxrs-client/jaxrs-client-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrsclient/v2_0/JaxRsClientInstrumentationModule.java b/instrumentation/jaxrs-client/jaxrs-client-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrsclient/v2_0/JaxRsClientInstrumentationModule.java index a66702ea08..03c1acf858 100644 --- a/instrumentation/jaxrs-client/jaxrs-client-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrsclient/v2_0/JaxRsClientInstrumentationModule.java +++ b/instrumentation/jaxrs-client/jaxrs-client-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrsclient/v2_0/JaxRsClientInstrumentationModule.java @@ -49,8 +49,7 @@ public final class JaxRsClientInstrumentationModule extends InstrumentationModul private static final class ClientBuilderInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("javax.ws.rs.client.ClientBuilder"); } diff --git a/instrumentation/jaxrs/jaxrs-1.0/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v1_0/JaxRsAnnotationsInstrumentation.java b/instrumentation/jaxrs/jaxrs-1.0/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v1_0/JaxRsAnnotationsInstrumentation.java index 5e5d8fd937..6831caaf82 100644 --- a/instrumentation/jaxrs/jaxrs-1.0/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v1_0/JaxRsAnnotationsInstrumentation.java +++ b/instrumentation/jaxrs/jaxrs-1.0/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v1_0/JaxRsAnnotationsInstrumentation.java @@ -31,8 +31,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class JaxRsAnnotationsInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("javax.ws.rs.Path"); } diff --git a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/AbstractRequestContextInstrumentation.java b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/AbstractRequestContextInstrumentation.java index 09e1cab954..110efec6f2 100644 --- a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/AbstractRequestContextInstrumentation.java +++ b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/AbstractRequestContextInstrumentation.java @@ -21,8 +21,7 @@ import net.bytebuddy.matcher.ElementMatcher; public abstract class AbstractRequestContextInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("javax.ws.rs.container.ContainerRequestContext"); } diff --git a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/ContainerRequestFilterInstrumentation.java b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/ContainerRequestFilterInstrumentation.java index 7af4d2d7e7..1cea3537f3 100644 --- a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/ContainerRequestFilterInstrumentation.java +++ b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/ContainerRequestFilterInstrumentation.java @@ -29,8 +29,7 @@ import net.bytebuddy.matcher.ElementMatcher; class ContainerRequestFilterInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("javax.ws.rs.container.ContainerRequestFilter"); } diff --git a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JaxRsAnnotationsInstrumentation.java b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JaxRsAnnotationsInstrumentation.java index e45df075d6..7e0c71ceda 100644 --- a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JaxRsAnnotationsInstrumentation.java +++ b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JaxRsAnnotationsInstrumentation.java @@ -35,8 +35,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class JaxRsAnnotationsInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("javax.ws.rs.Path"); } diff --git a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JaxRsAsyncResponseInstrumentation.java b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JaxRsAsyncResponseInstrumentation.java index 90e15de511..ee03a5a123 100644 --- a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JaxRsAsyncResponseInstrumentation.java +++ b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JaxRsAsyncResponseInstrumentation.java @@ -27,8 +27,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class JaxRsAsyncResponseInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("javax.ws.rs.container.AsyncResponse"); } diff --git a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/ConnectionInstrumentation.java b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/ConnectionInstrumentation.java index 82ff870944..5d4db6e6c9 100644 --- a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/ConnectionInstrumentation.java +++ b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/ConnectionInstrumentation.java @@ -26,7 +26,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class ConnectionInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("java.sql.Connection"); } diff --git a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/DriverInstrumentation.java b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/DriverInstrumentation.java index 8b03989814..f333965863 100644 --- a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/DriverInstrumentation.java +++ b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/DriverInstrumentation.java @@ -25,7 +25,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class DriverInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("java.sql.Driver"); } diff --git a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/PreparedStatementInstrumentation.java b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/PreparedStatementInstrumentation.java index 47cb068ba1..595391082d 100644 --- a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/PreparedStatementInstrumentation.java +++ b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/PreparedStatementInstrumentation.java @@ -28,7 +28,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class PreparedStatementInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("java.sql.PreparedStatement"); } diff --git a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/StatementInstrumentation.java b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/StatementInstrumentation.java index cdb48286a2..bdd84566e1 100644 --- a/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/StatementInstrumentation.java +++ b/instrumentation/jdbc/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/StatementInstrumentation.java @@ -28,7 +28,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class StatementInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("java.sql.Statement"); } diff --git a/instrumentation/jetty-8.0/src/main/java/io/opentelemetry/javaagent/instrumentation/jetty/JettyInstrumentationModule.java b/instrumentation/jetty-8.0/src/main/java/io/opentelemetry/javaagent/instrumentation/jetty/JettyInstrumentationModule.java index 5ea597738c..408247189e 100644 --- a/instrumentation/jetty-8.0/src/main/java/io/opentelemetry/javaagent/instrumentation/jetty/JettyInstrumentationModule.java +++ b/instrumentation/jetty-8.0/src/main/java/io/opentelemetry/javaagent/instrumentation/jetty/JettyInstrumentationModule.java @@ -50,8 +50,7 @@ public final class JettyInstrumentationModule extends InstrumentationModule { private static final class HandlerInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.eclipse.jetty.server.Handler"); } diff --git a/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsMessageConsumerInstrumentation.java b/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsMessageConsumerInstrumentation.java index 77e85bebd2..2c1f22af71 100644 --- a/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsMessageConsumerInstrumentation.java +++ b/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsMessageConsumerInstrumentation.java @@ -27,8 +27,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class JmsMessageConsumerInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("javax.jms.MessageConsumer"); } diff --git a/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsMessageListenerInstrumentation.java b/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsMessageListenerInstrumentation.java index 34aebd0d4e..14ea4f31e9 100644 --- a/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsMessageListenerInstrumentation.java +++ b/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsMessageListenerInstrumentation.java @@ -26,8 +26,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class JmsMessageListenerInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("javax.jms.MessageListener"); } diff --git a/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsMessageProducerInstrumentation.java b/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsMessageProducerInstrumentation.java index a1451a5337..4f201b7f78 100644 --- a/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsMessageProducerInstrumentation.java +++ b/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsMessageProducerInstrumentation.java @@ -30,8 +30,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class JmsMessageProducerInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("javax.jms.MessageProducer"); } diff --git a/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsSessionInstrumentation.java b/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsSessionInstrumentation.java index 82333dffb3..85af00a12c 100644 --- a/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsSessionInstrumentation.java +++ b/instrumentation/jms-1.1/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/JmsSessionInstrumentation.java @@ -25,8 +25,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class JmsSessionInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("javax.jms.Session"); } diff --git a/instrumentation/jsp-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/jsp/HttpJspPageInstrumentation.java b/instrumentation/jsp-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/jsp/HttpJspPageInstrumentation.java index 49333e80cb..d804bda471 100644 --- a/instrumentation/jsp-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/jsp/HttpJspPageInstrumentation.java +++ b/instrumentation/jsp-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/jsp/HttpJspPageInstrumentation.java @@ -27,8 +27,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class HttpJspPageInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("javax.servlet.jsp.HttpJspPage"); } diff --git a/instrumentation/khttp-0.1/src/main/java/io/opentelemetry/javaagent/instrumentation/khttp/KHttpInstrumentationModule.java b/instrumentation/khttp-0.1/src/main/java/io/opentelemetry/javaagent/instrumentation/khttp/KHttpInstrumentationModule.java index f65d3be0f4..a9f27d6262 100644 --- a/instrumentation/khttp-0.1/src/main/java/io/opentelemetry/javaagent/instrumentation/khttp/KHttpInstrumentationModule.java +++ b/instrumentation/khttp-0.1/src/main/java/io/opentelemetry/javaagent/instrumentation/khttp/KHttpInstrumentationModule.java @@ -48,7 +48,7 @@ public class KHttpInstrumentationModule extends InstrumentationModule { private static final class KHttpInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("khttp.KHttp"); } diff --git a/instrumentation/kubernetes-client-7.0/src/main/java/io/opentelemetry/javaagent/instrumentation/kubernetesclient/KubernetesClientInstrumentationModule.java b/instrumentation/kubernetes-client-7.0/src/main/java/io/opentelemetry/javaagent/instrumentation/kubernetesclient/KubernetesClientInstrumentationModule.java index a6af9eee26..31a5987adb 100644 --- a/instrumentation/kubernetes-client-7.0/src/main/java/io/opentelemetry/javaagent/instrumentation/kubernetesclient/KubernetesClientInstrumentationModule.java +++ b/instrumentation/kubernetes-client-7.0/src/main/java/io/opentelemetry/javaagent/instrumentation/kubernetesclient/KubernetesClientInstrumentationModule.java @@ -51,8 +51,7 @@ public class KubernetesClientInstrumentationModule extends InstrumentationModule private static final class ApiClientInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("io.kubernetes.client.openapi.ApiClient"); } diff --git a/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/ChannelFutureListenerInstrumentation.java b/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/ChannelFutureListenerInstrumentation.java index f9e149c825..62c1cfcaae 100644 --- a/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/ChannelFutureListenerInstrumentation.java +++ b/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/ChannelFutureListenerInstrumentation.java @@ -31,8 +31,7 @@ import org.jboss.netty.channel.ChannelFuture; final class ChannelFutureListenerInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.jboss.netty.channel.ChannelFutureListener"); } diff --git a/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/NettyChannelInstrumentation.java b/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/NettyChannelInstrumentation.java index 0160cb1551..9a6f8dd942 100644 --- a/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/NettyChannelInstrumentation.java +++ b/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/NettyChannelInstrumentation.java @@ -28,8 +28,7 @@ import org.jboss.netty.channel.Channel; final class NettyChannelInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.jboss.netty.channel.Channel"); } diff --git a/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/NettyChannelPipelineInstrumentation.java b/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/NettyChannelPipelineInstrumentation.java index 7c5c352cec..7891fed00d 100644 --- a/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/NettyChannelPipelineInstrumentation.java +++ b/instrumentation/netty/netty-3.8/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v3_8/NettyChannelPipelineInstrumentation.java @@ -41,8 +41,7 @@ import org.jboss.netty.handler.codec.http.HttpServerCodec; final class NettyChannelPipelineInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.jboss.netty.channel.ChannelPipeline"); } diff --git a/instrumentation/netty/netty-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/ChannelFutureListenerInstrumentation.java b/instrumentation/netty/netty-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/ChannelFutureListenerInstrumentation.java index 4ba4e9833d..252e10bfee 100644 --- a/instrumentation/netty/netty-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/ChannelFutureListenerInstrumentation.java +++ b/instrumentation/netty/netty-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/ChannelFutureListenerInstrumentation.java @@ -28,8 +28,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class ChannelFutureListenerInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("io.netty.channel.ChannelFutureListener"); } diff --git a/instrumentation/netty/netty-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/NettyChannelPipelineInstrumentation.java b/instrumentation/netty/netty-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/NettyChannelPipelineInstrumentation.java index 8e5494121a..7520b1375d 100644 --- a/instrumentation/netty/netty-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/NettyChannelPipelineInstrumentation.java +++ b/instrumentation/netty/netty-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/NettyChannelPipelineInstrumentation.java @@ -42,8 +42,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class NettyChannelPipelineInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("io.netty.channel.ChannelPipeline"); } diff --git a/instrumentation/netty/netty-4.1/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/ChannelFutureListenerInstrumentation.java b/instrumentation/netty/netty-4.1/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/ChannelFutureListenerInstrumentation.java index 821d086340..ab0bd1e87a 100644 --- a/instrumentation/netty/netty-4.1/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/ChannelFutureListenerInstrumentation.java +++ b/instrumentation/netty/netty-4.1/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/ChannelFutureListenerInstrumentation.java @@ -28,8 +28,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class ChannelFutureListenerInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("io.netty.channel.ChannelFutureListener"); } diff --git a/instrumentation/netty/netty-4.1/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/NettyChannelPipelineInstrumentation.java b/instrumentation/netty/netty-4.1/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/NettyChannelPipelineInstrumentation.java index 95d0ea9dd2..444009d3e9 100644 --- a/instrumentation/netty/netty-4.1/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/NettyChannelPipelineInstrumentation.java +++ b/instrumentation/netty/netty-4.1/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/NettyChannelPipelineInstrumentation.java @@ -42,8 +42,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class NettyChannelPipelineInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("io.netty.channel.ChannelPipeline"); } diff --git a/instrumentation/oshi/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/oshi/OshiInstrumentationModule.java b/instrumentation/oshi/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/oshi/OshiInstrumentationModule.java index 2b455b0e7a..11ec16a0a6 100644 --- a/instrumentation/oshi/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/oshi/OshiInstrumentationModule.java +++ b/instrumentation/oshi/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/oshi/OshiInstrumentationModule.java @@ -52,7 +52,7 @@ public class OshiInstrumentationModule extends InstrumentationModule { private static final class SystemInfoInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("oshi.SystemInfo"); } diff --git a/instrumentation/play-ws/play-ws-common/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/AsyncHttpClientInstrumentation.java b/instrumentation/play-ws/play-ws-common/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/AsyncHttpClientInstrumentation.java index accb0797a1..c84f98d059 100644 --- a/instrumentation/play-ws/play-ws-common/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/AsyncHttpClientInstrumentation.java +++ b/instrumentation/play-ws/play-ws-common/src/main/java/io/opentelemetry/javaagent/instrumentation/playws/AsyncHttpClientInstrumentation.java @@ -29,8 +29,7 @@ public class AsyncHttpClientInstrumentation implements TypeInstrumentation { } @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("play.shaded.ahc.org.asynchttpclient.AsyncHttpClient"); } diff --git a/instrumentation/play/play-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/play/v2_3/PlayInstrumentationModule.java b/instrumentation/play/play-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/play/v2_3/PlayInstrumentationModule.java index 009e000d66..eea697d200 100644 --- a/instrumentation/play/play-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/play/v2_3/PlayInstrumentationModule.java +++ b/instrumentation/play/play-2.3/src/main/java/io/opentelemetry/javaagent/instrumentation/play/v2_3/PlayInstrumentationModule.java @@ -41,8 +41,7 @@ public final class PlayInstrumentationModule extends InstrumentationModule { private static final class ActionInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("play.api.mvc.Action"); } diff --git a/instrumentation/play/play-2.4/src/main/java/io/opentelemetry/javaagent/instrumentation/play/v2_4/PlayInstrumentationModule.java b/instrumentation/play/play-2.4/src/main/java/io/opentelemetry/javaagent/instrumentation/play/v2_4/PlayInstrumentationModule.java index d74fc3de6b..cd29443b42 100644 --- a/instrumentation/play/play-2.4/src/main/java/io/opentelemetry/javaagent/instrumentation/play/v2_4/PlayInstrumentationModule.java +++ b/instrumentation/play/play-2.4/src/main/java/io/opentelemetry/javaagent/instrumentation/play/v2_4/PlayInstrumentationModule.java @@ -41,8 +41,7 @@ public final class PlayInstrumentationModule extends InstrumentationModule { private static final class ActionInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("play.api.mvc.Action"); } diff --git a/instrumentation/play/play-2.6/src/main/java/io/opentelemetry/javaagent/instrumentation/play/v2_6/PlayInstrumentationModule.java b/instrumentation/play/play-2.6/src/main/java/io/opentelemetry/javaagent/instrumentation/play/v2_6/PlayInstrumentationModule.java index 1e0b913886..6acef85a92 100644 --- a/instrumentation/play/play-2.6/src/main/java/io/opentelemetry/javaagent/instrumentation/play/v2_6/PlayInstrumentationModule.java +++ b/instrumentation/play/play-2.6/src/main/java/io/opentelemetry/javaagent/instrumentation/play/v2_6/PlayInstrumentationModule.java @@ -41,8 +41,7 @@ public final class PlayInstrumentationModule extends InstrumentationModule { private static final class ActionInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("play.api.mvc.Action"); } diff --git a/instrumentation/rabbitmq-2.7/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitChannelInstrumentation.java b/instrumentation/rabbitmq-2.7/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitChannelInstrumentation.java index 1de91c9a36..b824f24deb 100644 --- a/instrumentation/rabbitmq-2.7/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitChannelInstrumentation.java +++ b/instrumentation/rabbitmq-2.7/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitChannelInstrumentation.java @@ -45,8 +45,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class RabbitChannelInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("com.rabbitmq.client.Channel"); } diff --git a/instrumentation/rabbitmq-2.7/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitCommandInstrumentation.java b/instrumentation/rabbitmq-2.7/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitCommandInstrumentation.java index 772e2cd94d..9ed99c6347 100644 --- a/instrumentation/rabbitmq-2.7/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitCommandInstrumentation.java +++ b/instrumentation/rabbitmq-2.7/src/main/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitCommandInstrumentation.java @@ -25,8 +25,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class RabbitCommandInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("com.rabbitmq.client.Command"); } diff --git a/instrumentation/ratpack-1.4/src/main/java/io/opentelemetry/javaagent/instrumentation/ratpack/ContinuationInstrumentation.java b/instrumentation/ratpack-1.4/src/main/java/io/opentelemetry/javaagent/instrumentation/ratpack/ContinuationInstrumentation.java index 294ce5048c..05e9eb2a4f 100644 --- a/instrumentation/ratpack-1.4/src/main/java/io/opentelemetry/javaagent/instrumentation/ratpack/ContinuationInstrumentation.java +++ b/instrumentation/ratpack-1.4/src/main/java/io/opentelemetry/javaagent/instrumentation/ratpack/ContinuationInstrumentation.java @@ -23,8 +23,7 @@ import ratpack.func.Block; final class ContinuationInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("ratpack.exec.internal.Continuation"); } diff --git a/instrumentation/ratpack-1.4/src/main/java/io/opentelemetry/javaagent/instrumentation/ratpack/ServerErrorHandlerInstrumentation.java b/instrumentation/ratpack-1.4/src/main/java/io/opentelemetry/javaagent/instrumentation/ratpack/ServerErrorHandlerInstrumentation.java index cb392db48a..4b67a1af6d 100644 --- a/instrumentation/ratpack-1.4/src/main/java/io/opentelemetry/javaagent/instrumentation/ratpack/ServerErrorHandlerInstrumentation.java +++ b/instrumentation/ratpack-1.4/src/main/java/io/opentelemetry/javaagent/instrumentation/ratpack/ServerErrorHandlerInstrumentation.java @@ -22,8 +22,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class ServerErrorHandlerInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("ratpack.error.ServerErrorHandler"); } diff --git a/instrumentation/rediscala-1.8/src/main/java/io/opentelemetry/javaagent/instrumentation/rediscala/RediscalaInstrumentationModule.java b/instrumentation/rediscala-1.8/src/main/java/io/opentelemetry/javaagent/instrumentation/rediscala/RediscalaInstrumentationModule.java index 1ff7853ab8..98e0184cd8 100644 --- a/instrumentation/rediscala-1.8/src/main/java/io/opentelemetry/javaagent/instrumentation/rediscala/RediscalaInstrumentationModule.java +++ b/instrumentation/rediscala-1.8/src/main/java/io/opentelemetry/javaagent/instrumentation/rediscala/RediscalaInstrumentationModule.java @@ -56,7 +56,7 @@ public final class RediscalaInstrumentationModule extends InstrumentationModule private static final class RequestInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("redis.Request"); } diff --git a/instrumentation/scala-executors/src/main/java/io/opentelemetry/javaagent/instrumentation/scalaexecutors/ScalaForkJoinTaskInstrumentation.java b/instrumentation/scala-executors/src/main/java/io/opentelemetry/javaagent/instrumentation/scalaexecutors/ScalaForkJoinTaskInstrumentation.java index 9d1e583048..aa9c49c728 100644 --- a/instrumentation/scala-executors/src/main/java/io/opentelemetry/javaagent/instrumentation/scalaexecutors/ScalaForkJoinTaskInstrumentation.java +++ b/instrumentation/scala-executors/src/main/java/io/opentelemetry/javaagent/instrumentation/scalaexecutors/ScalaForkJoinTaskInstrumentation.java @@ -39,8 +39,7 @@ final class ScalaForkJoinTaskInstrumentation implements TypeInstrumentation { static final String TASK_CLASS_NAME = "scala.concurrent.forkjoin.ForkJoinTask"; @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed(TASK_CLASS_NAME); } diff --git a/instrumentation/servlet/servlet-2.2/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v2_2/HttpServletResponseInstrumentation.java b/instrumentation/servlet/servlet-2.2/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v2_2/HttpServletResponseInstrumentation.java index c80e1f4097..fd6d0d10c2 100644 --- a/instrumentation/servlet/servlet-2.2/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v2_2/HttpServletResponseInstrumentation.java +++ b/instrumentation/servlet/servlet-2.2/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v2_2/HttpServletResponseInstrumentation.java @@ -37,7 +37,7 @@ import net.bytebuddy.matcher.ElementMatcher; */ final class HttpServletResponseInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("javax.servlet.http.HttpServletResponse"); } diff --git a/instrumentation/servlet/servlet-2.2/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v2_2/ServletAndFilterInstrumentation.java b/instrumentation/servlet/servlet-2.2/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v2_2/ServletAndFilterInstrumentation.java index da3cbc1832..8b3803c492 100644 --- a/instrumentation/servlet/servlet-2.2/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v2_2/ServletAndFilterInstrumentation.java +++ b/instrumentation/servlet/servlet-2.2/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v2_2/ServletAndFilterInstrumentation.java @@ -22,8 +22,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class ServletAndFilterInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("javax.servlet.http.HttpServlet"); } diff --git a/instrumentation/servlet/servlet-3.0/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/AsyncContextInstrumentation.java b/instrumentation/servlet/servlet-3.0/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/AsyncContextInstrumentation.java index a155bcad2f..a6937c789a 100644 --- a/instrumentation/servlet/servlet-3.0/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/AsyncContextInstrumentation.java +++ b/instrumentation/servlet/servlet-3.0/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/AsyncContextInstrumentation.java @@ -29,8 +29,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class AsyncContextInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("javax.servlet.AsyncContext"); } diff --git a/instrumentation/servlet/servlet-3.0/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/ServletAndFilterInstrumentation.java b/instrumentation/servlet/servlet-3.0/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/ServletAndFilterInstrumentation.java index da617af327..80ee098fc2 100644 --- a/instrumentation/servlet/servlet-3.0/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/ServletAndFilterInstrumentation.java +++ b/instrumentation/servlet/servlet-3.0/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/ServletAndFilterInstrumentation.java @@ -21,8 +21,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class ServletAndFilterInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("javax.servlet.Filter"); } diff --git a/instrumentation/servlet/servlet-common/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/dispatcher/RequestDispatcherInstrumentationModule.java b/instrumentation/servlet/servlet-common/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/dispatcher/RequestDispatcherInstrumentationModule.java index 1185d1a0ec..e86e17257e 100644 --- a/instrumentation/servlet/servlet-common/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/dispatcher/RequestDispatcherInstrumentationModule.java +++ b/instrumentation/servlet/servlet-common/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/dispatcher/RequestDispatcherInstrumentationModule.java @@ -60,8 +60,7 @@ public final class RequestDispatcherInstrumentationModule extends Instrumentatio private static final class RequestDispatcherInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("javax.servlet.RequestDispatcher"); } diff --git a/instrumentation/servlet/servlet-common/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/http/HttpServletResponseInstrumentationModule.java b/instrumentation/servlet/servlet-common/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/http/HttpServletResponseInstrumentationModule.java index 88b95b574b..34c323dbb0 100644 --- a/instrumentation/servlet/servlet-common/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/http/HttpServletResponseInstrumentationModule.java +++ b/instrumentation/servlet/servlet-common/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/http/HttpServletResponseInstrumentationModule.java @@ -50,8 +50,7 @@ public final class HttpServletResponseInstrumentationModule extends Instrumentat private static final class HttpServletResponseInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("javax.servlet.http.HttpServletResponse"); } diff --git a/instrumentation/spring/spring-webflux-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/webflux/client/WebfluxClientInstrumentationModule.java b/instrumentation/spring/spring-webflux-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/webflux/client/WebfluxClientInstrumentationModule.java index 9ed65094bf..a41e81573b 100644 --- a/instrumentation/spring/spring-webflux-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/webflux/client/WebfluxClientInstrumentationModule.java +++ b/instrumentation/spring/spring-webflux-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/webflux/client/WebfluxClientInstrumentationModule.java @@ -47,8 +47,7 @@ public class WebfluxClientInstrumentationModule extends InstrumentationModule { private static final class WebClientBuilderInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.springframework.web.reactive.function.client.WebClient"); } diff --git a/instrumentation/spring/spring-webflux-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/webflux/server/HandlerAdapterInstrumentation.java b/instrumentation/spring/spring-webflux-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/webflux/server/HandlerAdapterInstrumentation.java index dbd57e19ad..3d74fbb34c 100644 --- a/instrumentation/spring/spring-webflux-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/webflux/server/HandlerAdapterInstrumentation.java +++ b/instrumentation/spring/spring-webflux-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/webflux/server/HandlerAdapterInstrumentation.java @@ -25,8 +25,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class HandlerAdapterInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.springframework.web.reactive.HandlerAdapter"); } diff --git a/instrumentation/spring/spring-webflux-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/webflux/server/RouterFunctionInstrumentation.java b/instrumentation/spring/spring-webflux-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/webflux/server/RouterFunctionInstrumentation.java index a78f96bde5..41f84929bb 100644 --- a/instrumentation/spring/spring-webflux-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/webflux/server/RouterFunctionInstrumentation.java +++ b/instrumentation/spring/spring-webflux-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/webflux/server/RouterFunctionInstrumentation.java @@ -25,8 +25,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class RouterFunctionInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.springframework.web.reactive.function.server.ServerRequest"); } diff --git a/instrumentation/spring/spring-webmvc-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/springwebmvc/HandlerAdapterInstrumentation.java b/instrumentation/spring/spring-webmvc-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/springwebmvc/HandlerAdapterInstrumentation.java index 55a3de6798..48eb39eeed 100644 --- a/instrumentation/spring/spring-webmvc-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/springwebmvc/HandlerAdapterInstrumentation.java +++ b/instrumentation/spring/spring-webmvc-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/springwebmvc/HandlerAdapterInstrumentation.java @@ -32,8 +32,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class HandlerAdapterInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("org.springframework.web.servlet.HandlerAdapter"); } diff --git a/instrumentation/spring/spring-webmvc-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/springwebmvc/WebApplicationContextInstrumentation.java b/instrumentation/spring/spring-webmvc-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/springwebmvc/WebApplicationContextInstrumentation.java index 55402823e3..0e2096ff55 100644 --- a/instrumentation/spring/spring-webmvc-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/springwebmvc/WebApplicationContextInstrumentation.java +++ b/instrumentation/spring/spring-webmvc-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/springwebmvc/WebApplicationContextInstrumentation.java @@ -29,8 +29,7 @@ import org.springframework.beans.factory.support.BeanDefinitionRegistry; final class WebApplicationContextInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed( "org.springframework.context.support.AbstractApplicationContext", "org.springframework.web.context.WebApplicationContext"); diff --git a/instrumentation/struts-2.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/struts2/ActionInvocationInstrumentation.java b/instrumentation/struts-2.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/struts2/ActionInvocationInstrumentation.java index f203ca7eb7..e9776f07d9 100644 --- a/instrumentation/struts-2.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/struts2/ActionInvocationInstrumentation.java +++ b/instrumentation/struts-2.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/struts2/ActionInvocationInstrumentation.java @@ -21,7 +21,7 @@ import net.bytebuddy.matcher.ElementMatcher; public class ActionInvocationInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("com.opensymphony.xwork2.ActionInvocation"); } diff --git a/instrumentation/twilio-6.6/src/main/java/io/opentelemetry/javaagent/instrumentation/twilio/TwilioAsyncInstrumentation.java b/instrumentation/twilio-6.6/src/main/java/io/opentelemetry/javaagent/instrumentation/twilio/TwilioAsyncInstrumentation.java index 94a622d4d8..7822c28674 100644 --- a/instrumentation/twilio-6.6/src/main/java/io/opentelemetry/javaagent/instrumentation/twilio/TwilioAsyncInstrumentation.java +++ b/instrumentation/twilio-6.6/src/main/java/io/opentelemetry/javaagent/instrumentation/twilio/TwilioAsyncInstrumentation.java @@ -36,8 +36,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class TwilioAsyncInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("com.twilio.Twilio"); } diff --git a/instrumentation/twilio-6.6/src/main/java/io/opentelemetry/javaagent/instrumentation/twilio/TwilioSyncInstrumentation.java b/instrumentation/twilio-6.6/src/main/java/io/opentelemetry/javaagent/instrumentation/twilio/TwilioSyncInstrumentation.java index 1b9710e2ce..1c43fc178f 100644 --- a/instrumentation/twilio-6.6/src/main/java/io/opentelemetry/javaagent/instrumentation/twilio/TwilioSyncInstrumentation.java +++ b/instrumentation/twilio-6.6/src/main/java/io/opentelemetry/javaagent/instrumentation/twilio/TwilioSyncInstrumentation.java @@ -31,8 +31,7 @@ import net.bytebuddy.matcher.ElementMatcher; final class TwilioSyncInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { - // Optimization for expensive typeMatcher. + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("com.twilio.Twilio"); } diff --git a/instrumentation/vertx-reactive-3.5/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/reactive/VertxRxInstrumentationModule.java b/instrumentation/vertx-reactive-3.5/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/reactive/VertxRxInstrumentationModule.java index b5ed5239d9..93961ad2c7 100644 --- a/instrumentation/vertx-reactive-3.5/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/reactive/VertxRxInstrumentationModule.java +++ b/instrumentation/vertx-reactive-3.5/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/reactive/VertxRxInstrumentationModule.java @@ -48,7 +48,7 @@ public class VertxRxInstrumentationModule extends InstrumentationModule { private static final class AsyncResultSingleInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderOptimization() { // Different versions of Vert.x has this class in different packages return hasClassesNamed("io.vertx.reactivex.core.impl.AsyncResultSingle") .or(hasClassesNamed("io.vertx.reactivex.impl.AsyncResultSingle")); diff --git a/instrumentation/vertx-web-3.0/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/VertxWebInstrumentationModule.java b/instrumentation/vertx-web-3.0/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/VertxWebInstrumentationModule.java index 9fa697a008..3f15001dd8 100644 --- a/instrumentation/vertx-web-3.0/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/VertxWebInstrumentationModule.java +++ b/instrumentation/vertx-web-3.0/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/VertxWebInstrumentationModule.java @@ -48,7 +48,7 @@ public final class VertxWebInstrumentationModule extends InstrumentationModule { private static final class RouteInstrumentation implements TypeInstrumentation { @Override - public ElementMatcher classLoaderMatcher() { + public ElementMatcher classLoaderOptimization() { return hasClassesNamed("io.vertx.ext.web.Route"); } diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/InstrumentationModule.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/InstrumentationModule.java index 3904631595..e07140ef78 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/InstrumentationModule.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/InstrumentationModule.java @@ -141,7 +141,7 @@ public abstract class InstrumentationModule { typeInstrumentation.typeMatcher(), "Instrumentation type matcher unexpected exception: " + getClass().getName()), failSafe( - moduleClassLoaderMatcher.and(typeInstrumentation.classLoaderMatcher()), + moduleClassLoaderMatcher.and(typeInstrumentation.classLoaderOptimization()), "Instrumentation class loader matcher unexpected exception: " + getClass().getName())) .and(NOT_DECORATOR_MATCHER) diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/TypeInstrumentation.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/TypeInstrumentation.java index 2ceb39946e..76f762f656 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/TypeInstrumentation.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/TypeInstrumentation.java @@ -12,20 +12,36 @@ import java.util.Map; import net.bytebuddy.description.method.MethodDescription; import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; +import net.bytebuddy.matcher.ElementMatchers; /** * Interface representing a single type instrumentation. Part of an {@link InstrumentationModule}. */ public interface TypeInstrumentation { /** - * A type instrumentation can implement this method to optimize an expensive {@link - * #typeMatcher()} - usually {@link AgentElementMatchers#implementsInterface(ElementMatcher)} or - * {@link AgentElementMatchers#extendsClass(ElementMatcher)}. In that case it's useful to check - * that the classloader contains the class/interface that is being extended. + * An optimization to short circuit matching in the case where the instrumented library is not + * even present on the class path. * - * @return A type matcher used to match the classloader under transform + *

Most applications have only a small subset of libraries on their class path, so this ends up + * being a very useful optimization. + * + *

Some background on type matcher performance: + * + *

Type matchers that only match against the type name are fast, e.g. {@link + * ElementMatchers#named(String)}. + * + *

All other type matchers require some level of bytecode inspection, e.g. {@link + * ElementMatchers#isAnnotatedWith(ElementMatcher)}. + * + *

Type matchers that need to inspect the super class hierarchy are even more expensive, e.g. + * {@link AgentElementMatchers#implementsInterface(ElementMatcher)}. This is because they require + * inspecting multiple super classes/interfaces as well (which may not even be loaded yet in which + * case their bytecode has to be read and inspected). + * + * @return A type matcher that rejects classloaders that do not contain desired interfaces or base + * classes. */ - default ElementMatcher classLoaderMatcher() { + default ElementMatcher classLoaderOptimization() { return any(); }