From a802f557e04723209677000bcc10b2b12b8f896e Mon Sep 17 00:00:00 2001 From: Matthew Li Date: Thu, 14 Aug 2025 15:53:27 -0400 Subject: [PATCH 1/3] Changing GRPC instrumentation codes from status.code to grpc.status.code --- .../armeria/grpc/client/GrpcClientDecorator.java | 2 +- .../armeria/grpc/server/GrpcServerDecorator.java | 2 +- .../test/groovy/ArmeriaGrpcStreamingTest.groovy | 4 ++-- .../src/test/groovy/ArmeriaGrpcTest.groovy | 16 ++++++++-------- .../grpc/client/GrpcClientDecorator.java | 3 +-- .../grpc/server/GrpcServerDecorator.java | 2 +- .../src/test/groovy/GrpcStreamingTest.groovy | 4 ++-- .../grpc-1.5/src/test/groovy/GrpcTest.groovy | 16 ++++++++-------- 8 files changed, 24 insertions(+), 25 deletions(-) diff --git a/dd-java-agent/instrumentation/armeria/armeria-grpc-0.84/src/main/java/datadog/trace/instrumentation/armeria/grpc/client/GrpcClientDecorator.java b/dd-java-agent/instrumentation/armeria/armeria-grpc-0.84/src/main/java/datadog/trace/instrumentation/armeria/grpc/client/GrpcClientDecorator.java index dc4c794efc6..4c4e09c5540 100644 --- a/dd-java-agent/instrumentation/armeria/armeria-grpc-0.84/src/main/java/datadog/trace/instrumentation/armeria/grpc/client/GrpcClientDecorator.java +++ b/dd-java-agent/instrumentation/armeria/armeria-grpc-0.84/src/main/java/datadog/trace/instrumentation/armeria/grpc/client/GrpcClientDecorator.java @@ -114,7 +114,7 @@ public void injectContext(Context context, final C request, CarrierSetter public AgentSpan onClose(final AgentSpan span, final Status status) { - span.setTag("status.code", status.getCode().name()); + span.setTag("grpc.status.code", status.getCode().name()); span.setTag("status.description", status.getDescription()); // TODO why is there a mismatch between client / server for calling the onError method? diff --git a/dd-java-agent/instrumentation/armeria/armeria-grpc-0.84/src/main/java/datadog/trace/instrumentation/armeria/grpc/server/GrpcServerDecorator.java b/dd-java-agent/instrumentation/armeria/armeria-grpc-0.84/src/main/java/datadog/trace/instrumentation/armeria/grpc/server/GrpcServerDecorator.java index 944324f3b4d..910eee4f438 100644 --- a/dd-java-agent/instrumentation/armeria/armeria-grpc-0.84/src/main/java/datadog/trace/instrumentation/armeria/grpc/server/GrpcServerDecorator.java +++ b/dd-java-agent/instrumentation/armeria/armeria-grpc-0.84/src/main/java/datadog/trace/instrumentation/armeria/grpc/server/GrpcServerDecorator.java @@ -93,7 +93,7 @@ public AgentSpan onCall(final AgentSpan span, ServerCall void injectContext(Context context, final C request, CarrierSetter } public AgentSpan onClose(final AgentSpan span, final Status status) { - - span.setTag("status.code", status.getCode().name()); + span.setTag("grpc.status.code", status.getCode().name()); span.setTag("status.description", status.getDescription()); // TODO why is there a mismatch between client / server for calling the onError method? diff --git a/dd-java-agent/instrumentation/grpc-1.5/src/main/java/datadog/trace/instrumentation/grpc/server/GrpcServerDecorator.java b/dd-java-agent/instrumentation/grpc-1.5/src/main/java/datadog/trace/instrumentation/grpc/server/GrpcServerDecorator.java index cafd0d64ad7..3eabcd315a3 100644 --- a/dd-java-agent/instrumentation/grpc-1.5/src/main/java/datadog/trace/instrumentation/grpc/server/GrpcServerDecorator.java +++ b/dd-java-agent/instrumentation/grpc-1.5/src/main/java/datadog/trace/instrumentation/grpc/server/GrpcServerDecorator.java @@ -93,7 +93,7 @@ public AgentSpan onCall(final AgentSpan span, ServerCall Date: Thu, 14 Aug 2025 16:19:40 -0400 Subject: [PATCH 2/3] adding grpc.status.code to pubsub tests --- .../google-pubsub/src/test/groovy/PubSubTest.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dd-java-agent/instrumentation/google-pubsub/src/test/groovy/PubSubTest.groovy b/dd-java-agent/instrumentation/google-pubsub/src/test/groovy/PubSubTest.groovy index 1564628cc86..71f3d8d005f 100644 --- a/dd-java-agent/instrumentation/google-pubsub/src/test/groovy/PubSubTest.groovy +++ b/dd-java-agent/instrumentation/google-pubsub/src/test/groovy/PubSubTest.groovy @@ -270,7 +270,7 @@ abstract class PubSubTest extends VersionedNamingTestBase { "request.type" { String } "response.type" { String } "$Tags.RPC_SERVICE" { String } - "status.code" { String } + "grpc.status.code" { String } if ({ isDataStreamsEnabled() }) { "$DDTags.PATHWAY_HASH" { String } } From 01abfecca1e1e8ce1e15d212bf2ac3756e3780c7 Mon Sep 17 00:00:00 2001 From: Matthew Li Date: Mon, 18 Aug 2025 11:07:46 -0400 Subject: [PATCH 3/3] updating to have both tags be sent --- .../armeria/grpc/client/GrpcClientDecorator.java | 1 + .../armeria/grpc/server/GrpcServerDecorator.java | 1 + .../src/test/groovy/ArmeriaGrpcStreamingTest.groovy | 2 ++ .../src/test/groovy/ArmeriaGrpcTest.groovy | 8 ++++++++ .../google-pubsub/src/test/groovy/PubSubTest.groovy | 1 + .../instrumentation/grpc/client/GrpcClientDecorator.java | 1 + .../instrumentation/grpc/server/GrpcServerDecorator.java | 1 + .../grpc-1.5/src/test/groovy/GrpcStreamingTest.groovy | 2 ++ .../grpc-1.5/src/test/groovy/GrpcTest.groovy | 8 ++++++++ 9 files changed, 25 insertions(+) diff --git a/dd-java-agent/instrumentation/armeria/armeria-grpc-0.84/src/main/java/datadog/trace/instrumentation/armeria/grpc/client/GrpcClientDecorator.java b/dd-java-agent/instrumentation/armeria/armeria-grpc-0.84/src/main/java/datadog/trace/instrumentation/armeria/grpc/client/GrpcClientDecorator.java index 4c4e09c5540..4310732a2f6 100644 --- a/dd-java-agent/instrumentation/armeria/armeria-grpc-0.84/src/main/java/datadog/trace/instrumentation/armeria/grpc/client/GrpcClientDecorator.java +++ b/dd-java-agent/instrumentation/armeria/armeria-grpc-0.84/src/main/java/datadog/trace/instrumentation/armeria/grpc/client/GrpcClientDecorator.java @@ -114,6 +114,7 @@ public void injectContext(Context context, final C request, CarrierSetter public AgentSpan onClose(final AgentSpan span, final Status status) { + span.setTag("status.code", status.getCode().name()); span.setTag("grpc.status.code", status.getCode().name()); span.setTag("status.description", status.getDescription()); diff --git a/dd-java-agent/instrumentation/armeria/armeria-grpc-0.84/src/main/java/datadog/trace/instrumentation/armeria/grpc/server/GrpcServerDecorator.java b/dd-java-agent/instrumentation/armeria/armeria-grpc-0.84/src/main/java/datadog/trace/instrumentation/armeria/grpc/server/GrpcServerDecorator.java index 910eee4f438..942b0b42df1 100644 --- a/dd-java-agent/instrumentation/armeria/armeria-grpc-0.84/src/main/java/datadog/trace/instrumentation/armeria/grpc/server/GrpcServerDecorator.java +++ b/dd-java-agent/instrumentation/armeria/armeria-grpc-0.84/src/main/java/datadog/trace/instrumentation/armeria/grpc/server/GrpcServerDecorator.java @@ -93,6 +93,7 @@ public AgentSpan onCall(final AgentSpan span, ServerCall void injectContext(Context context, final C request, CarrierSetter } public AgentSpan onClose(final AgentSpan span, final Status status) { + span.setTag("status.code", status.getCode().name()); span.setTag("grpc.status.code", status.getCode().name()); span.setTag("status.description", status.getDescription()); diff --git a/dd-java-agent/instrumentation/grpc-1.5/src/main/java/datadog/trace/instrumentation/grpc/server/GrpcServerDecorator.java b/dd-java-agent/instrumentation/grpc-1.5/src/main/java/datadog/trace/instrumentation/grpc/server/GrpcServerDecorator.java index 3eabcd315a3..a0598e76e88 100644 --- a/dd-java-agent/instrumentation/grpc-1.5/src/main/java/datadog/trace/instrumentation/grpc/server/GrpcServerDecorator.java +++ b/dd-java-agent/instrumentation/grpc-1.5/src/main/java/datadog/trace/instrumentation/grpc/server/GrpcServerDecorator.java @@ -93,6 +93,7 @@ public AgentSpan onCall(final AgentSpan span, ServerCall