diff --git a/instrumentation/opentelemetry-instrumentation-elasticsearch/src/opentelemetry/instrumentation/elasticsearch/__init__.py b/instrumentation/opentelemetry-instrumentation-elasticsearch/src/opentelemetry/instrumentation/elasticsearch/__init__.py index 6e9f411f8..541cdbfa6 100644 --- a/instrumentation/opentelemetry-instrumentation-elasticsearch/src/opentelemetry/instrumentation/elasticsearch/__init__.py +++ b/instrumentation/opentelemetry-instrumentation-elasticsearch/src/opentelemetry/instrumentation/elasticsearch/__init__.py @@ -64,7 +64,7 @@ from opentelemetry.instrumentation.elasticsearch.version import __version__ from opentelemetry.instrumentation.instrumentor import BaseInstrumentor from opentelemetry.instrumentation.utils import unwrap from opentelemetry.trace import SpanKind, get_tracer -from opentelemetry.trace.status import Status, StatusCanonicalCode +from opentelemetry.trace.status import Status, StatusCode logger = getLogger(__name__) @@ -156,11 +156,7 @@ def _wrap_perform_request(tracer, span_name_prefix): return rv except Exception as ex: # pylint: disable=broad-except if span.is_recording(): - if isinstance(ex, elasticsearch.exceptions.NotFoundError): - status = StatusCanonicalCode.NOT_FOUND - else: - status = StatusCanonicalCode.UNKNOWN - span.set_status(Status(status, str(ex))) + span.set_status(Status(StatusCode.ERROR, str(ex))) raise ex return wrapper diff --git a/instrumentation/opentelemetry-instrumentation-elasticsearch/tests/test_elasticsearch.py b/instrumentation/opentelemetry-instrumentation-elasticsearch/tests/test_elasticsearch.py index 3d93838fe..ea0e6ce2f 100644 --- a/instrumentation/opentelemetry-instrumentation-elasticsearch/tests/test_elasticsearch.py +++ b/instrumentation/opentelemetry-instrumentation-elasticsearch/tests/test_elasticsearch.py @@ -27,7 +27,7 @@ from opentelemetry.instrumentation.elasticsearch import ( ElasticsearchInstrumentor, ) from opentelemetry.test.test_base import TestBase -from opentelemetry.trace.status import StatusCanonicalCode +from opentelemetry.trace.status import StatusCode major_version = elasticsearch.VERSION[0] @@ -153,14 +153,14 @@ class TestElasticsearchIntegration(TestBase): def test_trace_error_unknown(self, request_mock): exc = RuntimeError("custom error") request_mock.side_effect = exc - self._test_trace_error(StatusCanonicalCode.UNKNOWN, exc) + self._test_trace_error(StatusCode.ERROR, exc) def test_trace_error_not_found(self, request_mock): msg = "record not found" exc = elasticsearch.exceptions.NotFoundError(404, msg) request_mock.return_value = (1, {}, {}) request_mock.side_effect = exc - self._test_trace_error(StatusCanonicalCode.NOT_FOUND, exc) + self._test_trace_error(StatusCode.ERROR, exc) def _test_trace_error(self, code, exc): es = Elasticsearch() @@ -173,7 +173,7 @@ class TestElasticsearchIntegration(TestBase): self.assertEqual(1, len(spans)) span = spans[0] self.assertFalse(span.status.is_ok) - self.assertEqual(span.status.canonical_code, code) + self.assertEqual(span.status.status_code, code) self.assertEqual(span.status.description, str(exc)) def test_parent(self, request_mock):