|
5 | 5 |
|
6 | 6 | package io.opentelemetry.javaagent.instrumentation.javaconcurrent;
|
7 | 7 |
|
8 |
| -import static net.bytebuddy.matcher.ElementMatchers.nameMatches; |
| 8 | +import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasSuperType; |
| 9 | +import static net.bytebuddy.matcher.ElementMatchers.is; |
9 | 10 | import static net.bytebuddy.matcher.ElementMatchers.named;
|
| 11 | +import static net.bytebuddy.matcher.ElementMatchers.namedOneOf; |
| 12 | +import static net.bytebuddy.matcher.ElementMatchers.returns; |
10 | 13 | import static net.bytebuddy.matcher.ElementMatchers.takesArgument;
|
11 | 14 | import static net.bytebuddy.matcher.ElementMatchers.takesArguments;
|
12 | 15 |
|
@@ -39,26 +42,34 @@ public void transform(TypeTransformer transformer) {
|
39 | 42 | named("execute").and(takesArgument(0, ForkJoinTask.class)),
|
40 | 43 | JavaExecutorInstrumentation.class.getName() + "$SetJavaForkJoinStateAdvice");
|
41 | 44 | transformer.applyAdviceToMethod(
|
42 |
| - named("submit").and(takesArgument(0, Runnable.class)), |
| 45 | + named("submit") |
| 46 | + .and(takesArgument(0, Runnable.class)) |
| 47 | + .and(returns(hasSuperType(is(Future.class)))), |
43 | 48 | JavaExecutorInstrumentation.class.getName() + "$SetSubmitRunnableStateAdvice");
|
44 | 49 | transformer.applyAdviceToMethod(
|
45 |
| - named("submit").and(takesArgument(0, Callable.class)), |
| 50 | + named("submit") |
| 51 | + .and(takesArgument(0, Callable.class)) |
| 52 | + .and(returns(hasSuperType(is(Future.class)))), |
46 | 53 | JavaExecutorInstrumentation.class.getName() + "$SetCallableStateAdvice");
|
47 | 54 | transformer.applyAdviceToMethod(
|
48 | 55 | named("submit").and(takesArgument(0, ForkJoinTask.class)),
|
49 | 56 | JavaExecutorInstrumentation.class.getName() + "$SetJavaForkJoinStateAdvice");
|
50 | 57 | transformer.applyAdviceToMethod(
|
51 |
| - nameMatches("invoke(Any|All)$").and(takesArgument(0, Collection.class)), |
| 58 | + namedOneOf("invokeAny", "invokeAll").and(takesArgument(0, Collection.class)), |
52 | 59 | JavaExecutorInstrumentation.class.getName()
|
53 | 60 | + "$SetCallableStateForCallableCollectionAdvice");
|
54 | 61 | transformer.applyAdviceToMethod(
|
55 |
| - nameMatches("invoke").and(takesArgument(0, ForkJoinTask.class)), |
| 62 | + named("invoke").and(takesArgument(0, ForkJoinTask.class)), |
56 | 63 | JavaExecutorInstrumentation.class.getName() + "$SetJavaForkJoinStateAdvice");
|
57 | 64 | transformer.applyAdviceToMethod(
|
58 |
| - named("schedule").and(takesArgument(0, Runnable.class)), |
| 65 | + named("schedule") |
| 66 | + .and(takesArgument(0, Runnable.class)) |
| 67 | + .and(returns(hasSuperType(is(Future.class)))), |
59 | 68 | JavaExecutorInstrumentation.class.getName() + "$SetSubmitRunnableStateAdvice");
|
60 | 69 | transformer.applyAdviceToMethod(
|
61 |
| - named("schedule").and(takesArgument(0, Callable.class)), |
| 70 | + named("schedule") |
| 71 | + .and(takesArgument(0, Callable.class)) |
| 72 | + .and(returns(hasSuperType(is(Future.class)))), |
62 | 73 | JavaExecutorInstrumentation.class.getName() + "$SetCallableStateAdvice");
|
63 | 74 | }
|
64 | 75 |
|
|
0 commit comments