Skip to content

Commit d0ee3da

Browse files
authored
Jax-Ws annotation instrumentation should not apply to static methods (#8391)
1 parent 26a00e0 commit d0ee3da

File tree

4 files changed

+12
-0
lines changed

4 files changed

+12
-0
lines changed

instrumentation/jaxrs/jaxrs-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v1_0/JaxrsAnnotationsInstrumentation.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@
1212
import static net.bytebuddy.matcher.ElementMatchers.declaresMethod;
1313
import static net.bytebuddy.matcher.ElementMatchers.isAnnotatedWith;
1414
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
15+
import static net.bytebuddy.matcher.ElementMatchers.isStatic;
1516
import static net.bytebuddy.matcher.ElementMatchers.named;
1617
import static net.bytebuddy.matcher.ElementMatchers.namedOneOf;
18+
import static net.bytebuddy.matcher.ElementMatchers.not;
1719

1820
import io.opentelemetry.context.Context;
1921
import io.opentelemetry.context.Scope;
@@ -47,6 +49,7 @@ public ElementMatcher<TypeDescription> typeMatcher() {
4749
public void transform(TypeTransformer transformer) {
4850
transformer.applyAdviceToMethod(
4951
isMethod()
52+
.and(not(isStatic()))
5053
.and(
5154
hasSuperMethod(
5255
isAnnotatedWith(

instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-annotations/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JaxrsAnnotationsInstrumentation.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@
1111
import static net.bytebuddy.matcher.ElementMatchers.declaresMethod;
1212
import static net.bytebuddy.matcher.ElementMatchers.isAnnotatedWith;
1313
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
14+
import static net.bytebuddy.matcher.ElementMatchers.isStatic;
1415
import static net.bytebuddy.matcher.ElementMatchers.named;
1516
import static net.bytebuddy.matcher.ElementMatchers.namedOneOf;
17+
import static net.bytebuddy.matcher.ElementMatchers.not;
1618

1719
import io.opentelemetry.context.Context;
1820
import io.opentelemetry.context.Scope;
@@ -48,6 +50,7 @@ public ElementMatcher<TypeDescription> typeMatcher() {
4850
public void transform(TypeTransformer transformer) {
4951
transformer.applyAdviceToMethod(
5052
isMethod()
53+
.and(not(isStatic()))
5154
.and(
5255
hasSuperMethod(
5356
isAnnotatedWith(

instrumentation/jaxrs/jaxrs-3.0/jaxrs-3.0-annotations/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v3_0/JaxrsAnnotationsInstrumentation.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@
1111
import static net.bytebuddy.matcher.ElementMatchers.declaresMethod;
1212
import static net.bytebuddy.matcher.ElementMatchers.isAnnotatedWith;
1313
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
14+
import static net.bytebuddy.matcher.ElementMatchers.isStatic;
1415
import static net.bytebuddy.matcher.ElementMatchers.named;
1516
import static net.bytebuddy.matcher.ElementMatchers.namedOneOf;
17+
import static net.bytebuddy.matcher.ElementMatchers.not;
1618

1719
import io.opentelemetry.context.Context;
1820
import io.opentelemetry.context.Scope;
@@ -48,6 +50,7 @@ public ElementMatcher<TypeDescription> typeMatcher() {
4850
public void transform(TypeTransformer transformer) {
4951
transformer.applyAdviceToMethod(
5052
isMethod()
53+
.and(not(isStatic()))
5154
.and(
5255
hasSuperMethod(
5356
isAnnotatedWith(

instrumentation/jaxws/jaxws-jws-api-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxws/jws/v1_1/JwsAnnotationsInstrumentation.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
import static net.bytebuddy.matcher.ElementMatchers.isAnnotatedWith;
1616
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
1717
import static net.bytebuddy.matcher.ElementMatchers.isPublic;
18+
import static net.bytebuddy.matcher.ElementMatchers.isStatic;
1819
import static net.bytebuddy.matcher.ElementMatchers.named;
20+
import static net.bytebuddy.matcher.ElementMatchers.not;
1921

2022
import io.opentelemetry.context.Context;
2123
import io.opentelemetry.context.Scope;
@@ -50,6 +52,7 @@ public void transform(TypeTransformer transformer) {
5052
transformer.applyAdviceToMethod(
5153
isMethod()
5254
.and(isPublic())
55+
.and(not(isStatic()))
5356
.and(
5457
hasSuperMethod(
5558
methodIsDeclaredByType(inheritsAnnotation(named(JWS_WEB_SERVICE_ANNOTATION))))),

0 commit comments

Comments
 (0)