Skip to content

Commit f86dbb5

Browse files
committed
Support armeria grpc 1.32.3
1 parent 0356799 commit f86dbb5

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

dd-java-agent/instrumentation/armeria-grpc/src/main/java/datadog/trace/instrumentation/armeria/grpc/client/ClientCallImplInstrumentation.java

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,11 @@ public String[] helperClassNames() {
7979
public void methodAdvice(MethodTransformer transformer) {
8080
transformer.applyAdvice(
8181
isConstructor().and(takesArgument(4, named("io.grpc.MethodDescriptor"))),
82-
getClass().getName() + "$CaptureCall");
82+
getClass().getName() + "$CaptureCallPos4");
83+
// from 1.32.3
84+
transformer.applyAdvice(
85+
isConstructor().and(takesArgument(2, named("io.grpc.MethodDescriptor"))),
86+
getClass().getName() + "$CaptureCallPos2");
8387
transformer.applyAdvice(named("start").and(isMethod()), getClass().getName() + "$Start");
8488
transformer.applyAdvice(named("cancel").and(isMethod()), getClass().getName() + "$Cancel");
8589
transformer.applyAdvice(
@@ -100,7 +104,7 @@ public void methodAdvice(MethodTransformer transformer) {
100104
}
101105
}
102106

103-
public static final class CaptureCall {
107+
public static final class CaptureCallPos4 {
104108
@Advice.OnMethodExit
105109
public static void capture(
106110
@Advice.This ClientCall<?, ?> call, @Advice.Argument(4) MethodDescriptor<?, ?> method) {
@@ -111,6 +115,17 @@ public static void capture(
111115
}
112116
}
113117

118+
public static final class CaptureCallPos2 {
119+
@Advice.OnMethodExit
120+
public static void capture(
121+
@Advice.This ClientCall<?, ?> call, @Advice.Argument(2) MethodDescriptor<?, ?> method) {
122+
AgentSpan span = DECORATE.startCall(method);
123+
if (null != span) {
124+
InstrumentationContext.get(ClientCall.class, AgentSpan.class).put(call, span);
125+
}
126+
}
127+
}
128+
114129
public static final class Start {
115130
@Advice.OnMethodEnter
116131
public static <T> AgentScope before(

0 commit comments

Comments
 (0)