Skip to content

Commit

Permalink
Reduce extendsClass type matching (open-telemetry#6446)
Browse files Browse the repository at this point in the history
* Reduce extendsClass type matching

* Return type too
  • Loading branch information
trask authored and LironKS committed Dec 4, 2022
1 parent 263bfd1 commit c7a1a9d
Show file tree
Hide file tree
Showing 5 changed files with 7 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,7 @@

package io.opentelemetry.javaagent.instrumentation.couchbase.v2_6;

import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.extendsClass;
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasClassesNamed;
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith;
import static net.bytebuddy.matcher.ElementMatchers.named;
import static net.bytebuddy.matcher.ElementMatchers.takesArgument;
import static net.bytebuddy.matcher.ElementMatchers.takesArguments;
Expand All @@ -25,16 +22,9 @@

public class CouchbaseNetworkInstrumentation implements TypeInstrumentation {

@Override
public ElementMatcher<ClassLoader> classLoaderOptimization() {
return hasClassesNamed("com.couchbase.client.core.endpoint.AbstractGenericHandler");
}

@Override
public ElementMatcher<TypeDescription> typeMatcher() {
// Exact class because private fields are used
return nameStartsWith("com.couchbase.client.")
.and(extendsClass(named("com.couchbase.client.core.endpoint.AbstractGenericHandler")));
return named("com.couchbase.client.core.endpoint.AbstractGenericHandler");
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
package io.opentelemetry.javaagent.instrumentation.jaxrsclient.v1_1;

import static io.opentelemetry.javaagent.bootstrap.Java8BytecodeBridge.currentContext;
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.extendsClass;
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasClassesNamed;
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface;
import static io.opentelemetry.javaagent.instrumentation.jaxrsclient.v1_1.JaxRsClientSingletons.instrumenter;
Expand Down Expand Up @@ -39,8 +38,8 @@ public ElementMatcher<TypeDescription> typeMatcher() {
public void transform(TypeTransformer transformer) {
transformer.applyAdviceToMethod(
named("handle")
.and(takesArgument(0, extendsClass(named("com.sun.jersey.api.client.ClientRequest"))))
.and(returns(extendsClass(named("com.sun.jersey.api.client.ClientResponse")))),
.and(takesArgument(0, named("com.sun.jersey.api.client.ClientRequest")))
.and(returns(named("com.sun.jersey.api.client.ClientResponse"))),
this.getClass().getName() + "$HandleAdvice");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@

package io.opentelemetry.javaagent.instrumentation.rmi.client;

import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.extendsClass;
import static io.opentelemetry.javaagent.instrumentation.rmi.client.RmiClientSingletons.instrumenter;
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
import static net.bytebuddy.matcher.ElementMatchers.named;
Expand All @@ -22,9 +21,10 @@
import net.bytebuddy.matcher.ElementMatcher;

public class UnicastRefInstrumentation implements TypeInstrumentation {

@Override
public ElementMatcher<TypeDescription> typeMatcher() {
return extendsClass(named("sun.rmi.server.UnicastRef"));
return named("sun.rmi.server.UnicastRef");
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@

package io.opentelemetry.javaagent.instrumentation.rmi.context.client;

import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.extendsClass;
import static io.opentelemetry.javaagent.instrumentation.rmi.context.ContextPropagator.PROPAGATOR;
import static net.bytebuddy.matcher.ElementMatchers.isConstructor;
import static net.bytebuddy.matcher.ElementMatchers.named;
Expand Down Expand Up @@ -54,7 +53,7 @@ public class RmiClientContextInstrumentation implements TypeInstrumentation {

@Override
public ElementMatcher<TypeDescription> typeMatcher() {
return extendsClass(named("sun.rmi.transport.StreamRemoteCall"));
return named("sun.rmi.transport.StreamRemoteCall");
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@

package io.opentelemetry.javaagent.instrumentation.rmi.context.server;

import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.extendsClass;
import static io.opentelemetry.javaagent.instrumentation.rmi.context.ContextPropagator.CONTEXT_CALL_ID;
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
import static net.bytebuddy.matcher.ElementMatchers.isStatic;
Expand All @@ -23,7 +22,7 @@ public class RmiServerContextInstrumentation implements TypeInstrumentation {

@Override
public ElementMatcher<TypeDescription> typeMatcher() {
return extendsClass(named("sun.rmi.transport.ObjectTable"));
return named("sun.rmi.transport.ObjectTable");
}

@Override
Expand Down

0 comments on commit c7a1a9d

Please sign in to comment.