diff --git a/dependencyManagement/build.gradle.kts b/dependencyManagement/build.gradle.kts index 4a3b3b7d6c6..4b0dd8444ec 100644 --- a/dependencyManagement/build.gradle.kts +++ b/dependencyManagement/build.gradle.kts @@ -81,7 +81,7 @@ val DEPENDENCIES = listOf( "io.github.netmikey.logunit:logunit-jul:2.0.0", "io.jaegertracing:jaeger-client:1.8.1", "io.opentelemetry.contrib:opentelemetry-aws-xray-propagator:1.53.0-alpha", - "io.opentelemetry.semconv:opentelemetry-semconv-incubating:1.37.0-alpha", + "io.opentelemetry.semconv:opentelemetry-semconv-incubating:1.39.0-alpha", "io.opentelemetry.proto:opentelemetry-proto:1.9.0-alpha", "io.opentracing:opentracing-api:0.33.0", "io.opentracing:opentracing-noop:0.33.0", diff --git a/exporters/common/src/main/java/io/opentelemetry/exporter/internal/grpc/GrpcExporter.java b/exporters/common/src/main/java/io/opentelemetry/exporter/internal/grpc/GrpcExporter.java index 8d9b49cdaa2..20ecfb83092 100644 --- a/exporters/common/src/main/java/io/opentelemetry/exporter/internal/grpc/GrpcExporter.java +++ b/exporters/common/src/main/java/io/opentelemetry/exporter/internal/grpc/GrpcExporter.java @@ -80,7 +80,7 @@ private void onResponse( GrpcResponse grpcResponse) { GrpcStatusCode statusCode = grpcResponse.getStatusCode(); - metricRecording.setGrpcStatusCode(statusCode.getValue()); + metricRecording.setGrpcStatusCode(statusCode); if (statusCode == GrpcStatusCode.OK) { metricRecording.finishSuccessful(); 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 dcb64bb0874..f99a991eecb 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 @@ -9,6 +9,7 @@ import io.opentelemetry.api.common.AttributesBuilder; import io.opentelemetry.api.metrics.MeterProvider; import io.opentelemetry.sdk.common.InternalTelemetryVersion; +import io.opentelemetry.sdk.common.export.GrpcStatusCode; import io.opentelemetry.sdk.common.internal.SemConvAttributes; import io.opentelemetry.sdk.common.internal.Signal; import io.opentelemetry.sdk.common.internal.StandardComponentId; @@ -84,7 +85,7 @@ public static class Recording { private final ExporterMetrics.Recording delegate; @Nullable private Long httpStatusCode; - @Nullable private Long grpcStatusCode; + @Nullable private GrpcStatusCode grpcStatusCode; private Recording(ExporterMetrics.Recording delegate) { this.delegate = delegate; @@ -98,7 +99,7 @@ public void setHttpStatusCode(long httpStatusCode) { this.httpStatusCode = httpStatusCode; } - public void setGrpcStatusCode(long grpcStatusCode) { + public void setGrpcStatusCode(GrpcStatusCode grpcStatusCode) { if (httpStatusCode != null) { throw new IllegalStateException( "HTTP status code already set, can only set either gRPC or HTTP"); @@ -135,7 +136,7 @@ private Attributes buildRequestAttributes() { return Attributes.of(SemConvAttributes.HTTP_RESPONSE_STATUS_CODE, httpStatusCode); } if (grpcStatusCode != null) { - return Attributes.of(SemConvAttributes.RPC_GRPC_STATUS_CODE, grpcStatusCode); + return Attributes.of(SemConvAttributes.RPC_RESPONSE_STATUS_CODE, grpcStatusCode.name()); } return Attributes.empty(); } diff --git a/exporters/common/src/test/java/io/opentelemetry/exporter/internal/grpc/GrpcExporterTest.java b/exporters/common/src/test/java/io/opentelemetry/exporter/internal/grpc/GrpcExporterTest.java index 5065d12a216..0dcfdfbc0c9 100644 --- a/exporters/common/src/test/java/io/opentelemetry/exporter/internal/grpc/GrpcExporterTest.java +++ b/exporters/common/src/test/java/io/opentelemetry/exporter/internal/grpc/GrpcExporterTest.java @@ -198,7 +198,9 @@ void testInternalTelemetry(StandardComponentId.ExporterType exporterType) { pa -> pa.hasAttributes( expectedAttributes.toBuilder() - .put(SemConvAttributes.RPC_GRPC_STATUS_CODE, 0) + .put( + SemConvAttributes.RPC_RESPONSE_STATUS_CODE, + GrpcStatusCode.OK.name()) .build()) .hasBucketCounts(1), pa -> @@ -208,8 +210,8 @@ void testInternalTelemetry(StandardComponentId.ExporterType exporterType) { SemConvAttributes.ERROR_TYPE, "" + UNAVAILABLE.getValue()) .put( - SemConvAttributes.RPC_GRPC_STATUS_CODE, - UNAVAILABLE.getValue()) + SemConvAttributes.RPC_RESPONSE_STATUS_CODE, + UNAVAILABLE.name()) .build()) .hasBucketCounts(1), pa -> diff --git a/sdk/common/src/main/java/io/opentelemetry/sdk/common/internal/SemConvAttributes.java b/sdk/common/src/main/java/io/opentelemetry/sdk/common/internal/SemConvAttributes.java index b00ae2a0b4f..7f21cd94551 100644 --- a/sdk/common/src/main/java/io/opentelemetry/sdk/common/internal/SemConvAttributes.java +++ b/sdk/common/src/main/java/io/opentelemetry/sdk/common/internal/SemConvAttributes.java @@ -29,8 +29,8 @@ private SemConvAttributes() {} AttributeKey.stringKey("server.address"); public static final AttributeKey SERVER_PORT = AttributeKey.longKey("server.port"); - public static final AttributeKey RPC_GRPC_STATUS_CODE = - AttributeKey.longKey("rpc.grpc.status_code"); + public static final AttributeKey RPC_RESPONSE_STATUS_CODE = + AttributeKey.stringKey("rpc.response.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/SemConvAttributesTest.java b/sdk/common/src/test/java/io/opentelemetry/sdk/common/internal/SemConvAttributesTest.java index 5a45a42c646..47632d16d15 100644 --- a/sdk/common/src/test/java/io/opentelemetry/sdk/common/internal/SemConvAttributesTest.java +++ b/sdk/common/src/test/java/io/opentelemetry/sdk/common/internal/SemConvAttributesTest.java @@ -27,8 +27,8 @@ void testAttributeKeys() { assertThat(SemConvAttributes.SERVER_ADDRESS).isEqualTo(ServerAttributes.SERVER_ADDRESS); assertThat(SemConvAttributes.SERVER_PORT).isEqualTo(ServerAttributes.SERVER_PORT); - assertThat(SemConvAttributes.RPC_GRPC_STATUS_CODE) - .isEqualTo(RpcIncubatingAttributes.RPC_GRPC_STATUS_CODE); + assertThat(SemConvAttributes.RPC_RESPONSE_STATUS_CODE) + .isEqualTo(RpcIncubatingAttributes.RPC_RESPONSE_STATUS_CODE); assertThat(SemConvAttributes.HTTP_RESPONSE_STATUS_CODE) .isEqualTo(HttpAttributes.HTTP_RESPONSE_STATUS_CODE);