Skip to content

Commit 3e3c4af

Browse files
committed
mongo-4.0
1 parent 07ba5f8 commit 3e3c4af

File tree

4 files changed

+45
-30
lines changed

4 files changed

+45
-30
lines changed

instrumentation/mongo/mongo-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v4_0/BaseClusterInstrumentation.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
1616
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;
1717
import net.bytebuddy.asm.Advice;
18+
import net.bytebuddy.asm.Advice.AssignReturned;
19+
import net.bytebuddy.asm.Advice.AssignReturned.ToArguments.ToArgument;
1820
import net.bytebuddy.description.type.TypeDescription;
1921
import net.bytebuddy.matcher.ElementMatcher;
2022

@@ -47,20 +49,22 @@ public void transform(TypeTransformer transformer) {
4749
@SuppressWarnings("unused")
4850
public static class SingleResultCallbackArg1Advice {
4951

52+
@AssignReturned.ToArguments(@ToArgument(1))
5053
@Advice.OnMethodEnter(suppress = Throwable.class)
51-
public static void wrapCallback(
52-
@Advice.Argument(value = 1, readOnly = false) SingleResultCallback<Object> callback) {
53-
callback = new SingleResultCallbackWrapper(Java8BytecodeBridge.currentContext(), callback);
54+
public static SingleResultCallback<Object> wrapCallback(
55+
@Advice.Argument(1) SingleResultCallback<Object> callback) {
56+
return new SingleResultCallbackWrapper(Java8BytecodeBridge.currentContext(), callback);
5457
}
5558
}
5659

5760
@SuppressWarnings("unused")
5861
public static class SingleResultCallbackArg2Advice {
5962

63+
@AssignReturned.ToArguments(@ToArgument(2))
6064
@Advice.OnMethodEnter(suppress = Throwable.class)
61-
public static void wrapCallback(
62-
@Advice.Argument(value = 2, readOnly = false) SingleResultCallback<Object> callback) {
63-
callback = new SingleResultCallbackWrapper(Java8BytecodeBridge.currentContext(), callback);
65+
public static SingleResultCallback<Object> wrapCallback(
66+
@Advice.Argument(2) SingleResultCallback<Object> callback) {
67+
return new SingleResultCallbackWrapper(Java8BytecodeBridge.currentContext(), callback);
6468
}
6569
}
6670
}

instrumentation/mongo/mongo-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v4_0/DefaultConnectionPoolInstrumentation.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
1414
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;
1515
import net.bytebuddy.asm.Advice;
16+
import net.bytebuddy.asm.Advice.AssignReturned;
17+
import net.bytebuddy.asm.Advice.AssignReturned.ToArguments.ToArgument;
1618
import net.bytebuddy.description.type.TypeDescription;
1719
import net.bytebuddy.matcher.ElementMatcher;
1820

@@ -34,10 +36,11 @@ public void transform(TypeTransformer transformer) {
3436
@SuppressWarnings("unused")
3537
public static class SingleResultCallbackAdvice {
3638

39+
@AssignReturned.ToArguments(@ToArgument(0))
3740
@Advice.OnMethodEnter(suppress = Throwable.class)
38-
public static void wrapCallback(
39-
@Advice.Argument(value = 0, readOnly = false) SingleResultCallback<Object> callback) {
40-
callback = new SingleResultCallbackWrapper(Java8BytecodeBridge.currentContext(), callback);
41+
public static SingleResultCallback<Object> wrapCallback(
42+
@Advice.Argument(0) SingleResultCallback<Object> callback) {
43+
return new SingleResultCallbackWrapper(Java8BytecodeBridge.currentContext(), callback);
4144
}
4245
}
4346
}

instrumentation/mongo/mongo-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v4_0/DefaultConnectionPoolTaskInstrumentation.java

Lines changed: 11 additions & 9 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.function.Consumer;
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

@@ -43,30 +45,30 @@ public void transform(TypeTransformer transformer) {
4345
@SuppressWarnings("unused")
4446
public static class TaskArg2Advice {
4547

48+
@AssignReturned.ToArguments(@ToArgument(2))
4649
@Advice.OnMethodEnter(suppress = Throwable.class)
47-
public static void wrapCallback(
48-
@Advice.Argument(value = 2, readOnly = false) Consumer<Object> action) {
49-
action = new TaskWrapper(Java8BytecodeBridge.currentContext(), action);
50+
public static Consumer<Object> wrapCallback(@Advice.Argument(2) Consumer<Object> action) {
51+
return new TaskWrapper(Java8BytecodeBridge.currentContext(), action);
5052
}
5153
}
5254

5355
@SuppressWarnings("unused")
5456
public static class TaskArg3Advice {
5557

58+
@AssignReturned.ToArguments(@ToArgument(3))
5659
@Advice.OnMethodEnter(suppress = Throwable.class)
57-
public static void wrapCallback(
58-
@Advice.Argument(value = 3, readOnly = false) Consumer<Object> action) {
59-
action = new TaskWrapper(Java8BytecodeBridge.currentContext(), action);
60+
public static Consumer<Object> wrapCallback(@Advice.Argument(3) Consumer<Object> action) {
61+
return new TaskWrapper(Java8BytecodeBridge.currentContext(), action);
6062
}
6163
}
6264

6365
@SuppressWarnings("unused")
6466
public static class TaskArg4Advice {
6567

68+
@AssignReturned.ToArguments(@ToArgument(4))
6669
@Advice.OnMethodEnter(suppress = Throwable.class)
67-
public static void wrapCallback(
68-
@Advice.Argument(value = 4, readOnly = false) Consumer<Object> action) {
69-
action = new TaskWrapper(Java8BytecodeBridge.currentContext(), action);
70+
public static Consumer<Object> wrapCallback(@Advice.Argument(4) Consumer<Object> action) {
71+
return new TaskWrapper(Java8BytecodeBridge.currentContext(), action);
7072
}
7173
}
7274
}

instrumentation/mongo/mongo-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v4_0/InternalStreamConnectionInstrumentation.java

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
1515
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;
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

@@ -67,40 +69,44 @@ public void transform(TypeTransformer transformer) {
6769
@SuppressWarnings("unused")
6870
public static class SingleResultCallbackArg0Advice {
6971

72+
@AssignReturned.ToArguments(@ToArgument(0))
7073
@Advice.OnMethodEnter(suppress = Throwable.class)
71-
public static void wrapCallback(
72-
@Advice.Argument(value = 0, readOnly = false) SingleResultCallback<Object> callback) {
73-
callback = new SingleResultCallbackWrapper(Java8BytecodeBridge.currentContext(), callback);
74+
public static SingleResultCallback<Object> wrapCallback(
75+
@Advice.Argument(0) SingleResultCallback<Object> callback) {
76+
return new SingleResultCallbackWrapper(Java8BytecodeBridge.currentContext(), callback);
7477
}
7578
}
7679

7780
@SuppressWarnings("unused")
7881
public static class SingleResultCallbackArg1Advice {
7982

83+
@AssignReturned.ToArguments(@ToArgument(1))
8084
@Advice.OnMethodEnter(suppress = Throwable.class)
81-
public static void wrapCallback(
82-
@Advice.Argument(value = 1, readOnly = false) SingleResultCallback<Object> callback) {
83-
callback = new SingleResultCallbackWrapper(Java8BytecodeBridge.currentContext(), callback);
85+
public static SingleResultCallback<Object> wrapCallback(
86+
@Advice.Argument(1) SingleResultCallback<Object> callback) {
87+
return new SingleResultCallbackWrapper(Java8BytecodeBridge.currentContext(), callback);
8488
}
8589
}
8690

8791
@SuppressWarnings("unused")
8892
public static class SingleResultCallbackArg2Advice {
8993

94+
@AssignReturned.ToArguments(@ToArgument(2))
9095
@Advice.OnMethodEnter(suppress = Throwable.class)
91-
public static void wrapCallback(
92-
@Advice.Argument(value = 2, readOnly = false) SingleResultCallback<Object> callback) {
93-
callback = new SingleResultCallbackWrapper(Java8BytecodeBridge.currentContext(), callback);
96+
public static SingleResultCallback<Object> wrapCallback(
97+
@Advice.Argument(2) SingleResultCallback<Object> callback) {
98+
return new SingleResultCallbackWrapper(Java8BytecodeBridge.currentContext(), callback);
9499
}
95100
}
96101

97102
@SuppressWarnings("unused")
98103
public static class SingleResultCallbackArg3Advice {
99104

105+
@AssignReturned.ToArguments(@ToArgument(3))
100106
@Advice.OnMethodEnter(suppress = Throwable.class)
101-
public static void wrapCallback(
102-
@Advice.Argument(value = 3, readOnly = false) SingleResultCallback<Object> callback) {
103-
callback = new SingleResultCallbackWrapper(Java8BytecodeBridge.currentContext(), callback);
107+
public static SingleResultCallback<Object> wrapCallback(
108+
@Advice.Argument(3) SingleResultCallback<Object> callback) {
109+
return new SingleResultCallbackWrapper(Java8BytecodeBridge.currentContext(), callback);
104110
}
105111
}
106112
}

0 commit comments

Comments
 (0)