Skip to content

Commit 45b7bb9

Browse files
authored
make armeria indy-ready (#15013)
1 parent 029f57e commit 45b7bb9

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

instrumentation/armeria/armeria-1.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/armeria/v1_3/AbstractStreamMessageSubscriptionInstrumentation.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;
1515
import java.util.concurrent.CompletableFuture;
1616
import net.bytebuddy.asm.Advice;
17+
import net.bytebuddy.asm.Advice.AssignReturned;
18+
import net.bytebuddy.asm.Advice.AssignReturned.ToArguments.ToArgument;
1719
import net.bytebuddy.description.type.TypeDescription;
1820
import net.bytebuddy.matcher.ElementMatcher;
1921
import org.reactivestreams.Subscriber;
@@ -52,20 +54,21 @@ public void transform(TypeTransformer transformer) {
5254
@SuppressWarnings("unused")
5355
public static class WrapSubscriberAdvice {
5456

57+
@AssignReturned.ToArguments(@ToArgument(1))
5558
@Advice.OnMethodEnter(suppress = Throwable.class)
56-
public static void wrapSubscriber(
57-
@Advice.Argument(value = 1, readOnly = false) Subscriber<?> subscriber) {
58-
subscriber = SubscriberWrapper.wrap(subscriber);
59+
public static Subscriber<?> wrapSubscriber(@Advice.Argument(1) Subscriber<?> subscriber) {
60+
return SubscriberWrapper.wrap(subscriber);
5961
}
6062
}
6163

6264
@SuppressWarnings("unused")
6365
public static class WrapCompletableFutureAdvice {
6466

67+
@AssignReturned.ToArguments(@ToArgument(4))
6568
@Advice.OnMethodEnter(suppress = Throwable.class)
66-
public static void wrapCompletableFuture(
67-
@Advice.Argument(value = 4, readOnly = false) CompletableFuture<?> future) {
68-
future = CompletableFutureWrapper.wrap(future);
69+
public static CompletableFuture<?> wrapCompletableFuture(
70+
@Advice.Argument(4) CompletableFuture<?> future) {
71+
return CompletableFutureWrapper.wrap(future);
6972
}
7073
}
7174
}

instrumentation/armeria/armeria-1.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/armeria/v1_3/ArmeriaInstrumentationModule.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,13 @@
1111
import com.google.auto.service.AutoService;
1212
import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
1313
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
14+
import io.opentelemetry.javaagent.extension.instrumentation.internal.ExperimentalInstrumentationModule;
1415
import java.util.List;
1516
import net.bytebuddy.matcher.ElementMatcher;
1617

1718
@AutoService(InstrumentationModule.class)
18-
public class ArmeriaInstrumentationModule extends InstrumentationModule {
19+
public class ArmeriaInstrumentationModule extends InstrumentationModule
20+
implements ExperimentalInstrumentationModule {
1921
public ArmeriaInstrumentationModule() {
2022
super("armeria", "armeria-1.3");
2123
}
@@ -33,4 +35,9 @@ public List<TypeInstrumentation> typeInstrumentations() {
3335
new ArmeriaServerBuilderInstrumentation(),
3436
new AbstractStreamMessageSubscriptionInstrumentation());
3537
}
38+
39+
@Override
40+
public boolean isIndyReady() {
41+
return true;
42+
}
3643
}

0 commit comments

Comments
 (0)