diff --git a/instrumentation/opentelemetry-instrumentation-grpc/src/opentelemetry/instrumentation/grpc/_client.py b/instrumentation/opentelemetry-instrumentation-grpc/src/opentelemetry/instrumentation/grpc/_client.py index 028804f59..f8a72931f 100644 --- a/instrumentation/opentelemetry-instrumentation-grpc/src/opentelemetry/instrumentation/grpc/_client.py +++ b/instrumentation/opentelemetry-instrumentation-grpc/src/opentelemetry/instrumentation/grpc/_client.py @@ -26,7 +26,7 @@ import grpc from opentelemetry import metrics, propagators, trace from opentelemetry.sdk.metrics.export.controller import PushController -from opentelemetry.trace.status import Status, StatusCanonicalCode +from opentelemetry.trace.status import Status, StatusCode from . import grpcext from ._utilities import RpcInfo, TimedMetricRecorder @@ -169,9 +169,9 @@ class OpenTelemetryClientInterceptor( try: result = invoker(request, metadata) - except grpc.RpcError as exc: + except grpc.RpcError: guarded_span.generated_span.set_status( - Status(StatusCanonicalCode(exc.code().value[0])) + Status(StatusCode.ERROR) ) raise @@ -224,10 +224,8 @@ class OpenTelemetryClientInterceptor( response.ByteSize(), client_info.full_method ) yield response - except grpc.RpcError as exc: - span.set_status( - Status(StatusCanonicalCode(exc.code().value[0])) - ) + except grpc.RpcError: + span.set_status(Status(StatusCode.ERROR)) raise def intercept_stream( @@ -264,9 +262,9 @@ class OpenTelemetryClientInterceptor( try: result = invoker(request_or_iterator, metadata) - except grpc.RpcError as exc: + except grpc.RpcError: guarded_span.generated_span.set_status( - Status(StatusCanonicalCode(exc.code().value[0])) + Status(StatusCode.ERROR) ) raise diff --git a/instrumentation/opentelemetry-instrumentation-grpc/tests/test_client_interceptor.py b/instrumentation/opentelemetry-instrumentation-grpc/tests/test_client_interceptor.py index 3ed40c141..f351c6fdd 100644 --- a/instrumentation/opentelemetry-instrumentation-grpc/tests/test_client_interceptor.py +++ b/instrumentation/opentelemetry-instrumentation-grpc/tests/test_client_interceptor.py @@ -220,9 +220,8 @@ class TestClientProto(TestBase): spans = self.memory_exporter.get_finished_spans() self.assertEqual(len(spans), 1) span = spans[0] - self.assertEqual( - span.status.canonical_code.value, - grpc.StatusCode.INVALID_ARGUMENT.value[0], + self.assertIs( + span.status.status_code, trace.status.StatusCode.ERROR, ) def test_error_stream_unary(self): @@ -233,9 +232,8 @@ class TestClientProto(TestBase): spans = self.memory_exporter.get_finished_spans() self.assertEqual(len(spans), 1) span = spans[0] - self.assertEqual( - span.status.canonical_code.value, - grpc.StatusCode.INVALID_ARGUMENT.value[0], + self.assertIs( + span.status.status_code, trace.status.StatusCode.ERROR, ) def test_error_unary_stream(self): @@ -247,9 +245,8 @@ class TestClientProto(TestBase): spans = self.memory_exporter.get_finished_spans() self.assertEqual(len(spans), 1) span = spans[0] - self.assertEqual( - span.status.canonical_code.value, - grpc.StatusCode.INVALID_ARGUMENT.value[0], + self.assertIs( + span.status.status_code, trace.status.StatusCode.ERROR, ) def test_error_stream_stream(self): @@ -263,9 +260,8 @@ class TestClientProto(TestBase): spans = self.memory_exporter.get_finished_spans() self.assertEqual(len(spans), 1) span = spans[0] - self.assertEqual( - span.status.canonical_code.value, - grpc.StatusCode.INVALID_ARGUMENT.value[0], + self.assertIs( + span.status.status_code, trace.status.StatusCode.ERROR, )