Change status codes from grpc status codes, remove setting status in instrumentations except on ERROR (#1282)

This commit is contained in:
Leighton Chen
2020-10-28 17:28:58 -04:00
committed by GitHub
parent 53bee8ddc9
commit 43b88daa81
2 changed files with 15 additions and 21 deletions

View File

@ -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

View File

@ -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,
)