Skip to content

Commit 7eb2a2e

Browse files
committed
vertx-rx-java-3.5
1 parent 014c79c commit 7eb2a2e

File tree

2 files changed

+18
-9
lines changed

2 files changed

+18
-9
lines changed

instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/reactive/AsyncResultSingleInstrumentation.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
import io.vertx.core.Handler;
1919
import java.util.function.Consumer;
2020
import net.bytebuddy.asm.Advice;
21+
import net.bytebuddy.asm.Advice.AssignReturned;
22+
import net.bytebuddy.asm.Advice.AssignReturned.ToArguments.ToArgument;
2123
import net.bytebuddy.description.type.TypeDescription;
2224
import net.bytebuddy.matcher.ElementMatcher;
2325

@@ -50,22 +52,22 @@ public void transform(TypeTransformer transformer) {
5052
@SuppressWarnings("unused")
5153
public static class ConstructorWithHandlerAdvice {
5254

55+
@AssignReturned.ToArguments(@ToArgument(0))
5356
@Advice.OnMethodEnter(suppress = Throwable.class)
54-
public static void wrapHandler(
55-
@Advice.Argument(value = 0, readOnly = false) Handler<Handler<AsyncResult<?>>> handler) {
56-
handler =
57-
AsyncResultHandlerWrapper.wrapIfNeeded(handler, Java8BytecodeBridge.currentContext());
57+
public static Handler<Handler<AsyncResult<?>>> wrapHandler(
58+
@Advice.Argument(0) Handler<Handler<AsyncResult<?>>> handler) {
59+
return AsyncResultHandlerWrapper.wrapIfNeeded(handler, Java8BytecodeBridge.currentContext());
5860
}
5961
}
6062

6163
@SuppressWarnings("unused")
6264
public static class ConstructorWithConsumerAdvice {
6365

66+
@AssignReturned.ToArguments(@ToArgument(0))
6467
@Advice.OnMethodEnter(suppress = Throwable.class)
65-
public static void wrapHandler(
66-
@Advice.Argument(value = 0, readOnly = false) Consumer<Handler<AsyncResult<?>>> handler) {
67-
handler =
68-
AsyncResultConsumerWrapper.wrapIfNeeded(handler, Java8BytecodeBridge.currentContext());
68+
public static Consumer<Handler<AsyncResult<?>>> wrapHandler(
69+
@Advice.Argument(0) Consumer<Handler<AsyncResult<?>>> handler) {
70+
return AsyncResultConsumerWrapper.wrapIfNeeded(handler, Java8BytecodeBridge.currentContext());
6971
}
7072
}
7173
}

instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/reactive/VertxRxInstrumentationModule.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@
1010
import com.google.auto.service.AutoService;
1111
import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
1212
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
13+
import io.opentelemetry.javaagent.extension.instrumentation.internal.ExperimentalInstrumentationModule;
1314
import java.util.List;
1415

1516
@AutoService(InstrumentationModule.class)
16-
public class VertxRxInstrumentationModule extends InstrumentationModule {
17+
public class VertxRxInstrumentationModule extends InstrumentationModule
18+
implements ExperimentalInstrumentationModule {
1719

1820
public VertxRxInstrumentationModule() {
1921
super("vertx-rx-java", "vertx-rx-java-3.5", "vertx");
@@ -23,4 +25,9 @@ public VertxRxInstrumentationModule() {
2325
public List<TypeInstrumentation> typeInstrumentations() {
2426
return singletonList(new AsyncResultSingleInstrumentation());
2527
}
28+
29+
@Override
30+
public boolean isIndyReady() {
31+
return true;
32+
}
2633
}

0 commit comments

Comments
 (0)