From 5fc218b5b315974ec84a886cfbdded7399542c15 Mon Sep 17 00:00:00 2001 From: Jack Berg <34418638+jack-berg@users.noreply.github.com> Date: Thu, 5 Nov 2026 18:51:03 -0600 Subject: [PATCH] Update otlp grpc exporter metrics to use rpc.status_code instead of rpc.response.status_code --- .../exporter/internal/metrics/ExporterInstrumentation.java | 2 +- .../exporter/otlp/internal/GrpcExporterTest.java | 4 ++-- .../opentelemetry/sdk/common/internal/SemConvConstants.java | 4 ++-- .../sdk/common/internal/SemConvConstantsTest.java | 6 ++---- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/exporters/common/src/main/java/io/opentelemetry/exporter/internal/metrics/ExporterInstrumentation.java b/exporters/common/src/main/java/io/opentelemetry/exporter/internal/metrics/ExporterInstrumentation.java index 80262f1f0fe..5a2c37334a5 100644 --- a/exporters/common/src/main/java/io/opentelemetry/exporter/internal/metrics/ExporterInstrumentation.java +++ b/exporters/common/src/main/java/io/opentelemetry/exporter/internal/metrics/ExporterInstrumentation.java @@ -150,7 +150,7 @@ private Attributes buildRequestAttributes() { return Attributes.of(SemConvConstants.HTTP_RESPONSE_STATUS_CODE, httpStatusCode); } if (grpcStatusCode != null) { - return Attributes.of(SemConvConstants.RPC_RESPONSE_STATUS_CODE, grpcStatusCode.name()); + return Attributes.of(SemConvConstants.RPC_STATUS_CODE, grpcStatusCode.name()); } return Attributes.empty(); } diff --git a/exporters/otlp/all/src/test/java/io/opentelemetry/exporter/otlp/internal/GrpcExporterTest.java b/exporters/otlp/all/src/test/java/io/opentelemetry/exporter/otlp/internal/GrpcExporterTest.java index 5f9767b0092..a9fca8b025f 100644 --- a/exporters/otlp/all/src/test/java/io/opentelemetry/exporter/otlp/internal/GrpcExporterTest.java +++ b/exporters/otlp/all/src/test/java/io/opentelemetry/exporter/otlp/internal/GrpcExporterTest.java @@ -199,7 +199,7 @@ public int getContentLength() { pa.hasAttributes( expectedAttributes.toBuilder() .put( - SemConvConstants.RPC_RESPONSE_STATUS_CODE, + SemConvConstants.RPC_STATUS_CODE, GrpcStatusCode.OK.name()) .build()) .hasBucketCounts(1), @@ -210,7 +210,7 @@ public int getContentLength() { SemConvConstants.ERROR_TYPE, "" + UNAVAILABLE.getValue()) .put( - SemConvConstants.RPC_RESPONSE_STATUS_CODE, + SemConvConstants.RPC_STATUS_CODE, UNAVAILABLE.name()) .build()) .hasBucketCounts(1), diff --git a/sdk/common/src/main/java/io/opentelemetry/sdk/common/internal/SemConvConstants.java b/sdk/common/src/main/java/io/opentelemetry/sdk/common/internal/SemConvConstants.java index ef3c6fdb9f1..0cc91e0633f 100644 --- a/sdk/common/src/main/java/io/opentelemetry/sdk/common/internal/SemConvConstants.java +++ b/sdk/common/src/main/java/io/opentelemetry/sdk/common/internal/SemConvConstants.java @@ -45,8 +45,8 @@ private SemConvConstants() {} AttributeKey.stringKey("server.address"); public static final AttributeKey SERVER_PORT = AttributeKey.longKey("server.port"); - public static final AttributeKey RPC_RESPONSE_STATUS_CODE = - AttributeKey.stringKey("rpc.response.status_code"); + public static final AttributeKey RPC_STATUS_CODE = + AttributeKey.stringKey("rpc.status_code"); public static final AttributeKey HTTP_RESPONSE_STATUS_CODE = AttributeKey.longKey("http.response.status_code"); diff --git a/sdk/common/src/test/java/io/opentelemetry/sdk/common/internal/SemConvConstantsTest.java b/sdk/common/src/test/java/io/opentelemetry/sdk/common/internal/SemConvConstantsTest.java index 3843a58be08..2fea1ee240c 100644 --- a/sdk/common/src/test/java/io/opentelemetry/sdk/common/internal/SemConvConstantsTest.java +++ b/sdk/common/src/test/java/io/opentelemetry/sdk/common/internal/SemConvConstantsTest.java @@ -9,18 +9,17 @@ import io.opentelemetry.semconv.ErrorAttributes; import io.opentelemetry.semconv.HttpAttributes; +import io.opentelemetry.semconv.RpcAttributes; import io.opentelemetry.semconv.SchemaUrls; import io.opentelemetry.semconv.ServerAttributes; import io.opentelemetry.semconv.ServiceAttributes; import io.opentelemetry.semconv.incubating.OtelIncubatingAttributes; import io.opentelemetry.semconv.incubating.OtelIncubatingMetrics; -import io.opentelemetry.semconv.incubating.RpcIncubatingAttributes; import org.junit.jupiter.api.Test; class SemConvConstantsTest { @Test - @SuppressWarnings("deprecation") // Retain rpc.response.status_code until a separate migration. void attributeKeys() { assertThat(SemConvConstants.SCHEMA_URL_V1_40_0).isEqualTo(SchemaUrls.V1_40_0); @@ -42,8 +41,7 @@ void attributeKeys() { assertThat(SemConvConstants.SERVER_ADDRESS).isEqualTo(ServerAttributes.SERVER_ADDRESS); assertThat(SemConvConstants.SERVER_PORT).isEqualTo(ServerAttributes.SERVER_PORT); - assertThat(SemConvConstants.RPC_RESPONSE_STATUS_CODE) - .isEqualTo(RpcIncubatingAttributes.RPC_RESPONSE_STATUS_CODE); + assertThat(SemConvConstants.RPC_STATUS_CODE).isEqualTo(RpcAttributes.RPC_STATUS_CODE); assertThat(SemConvConstants.HTTP_RESPONSE_STATUS_CODE) .isEqualTo(HttpAttributes.HTTP_RESPONSE_STATUS_CODE);