From d3f3e848539e3098bde01b4264767b089f236e2c Mon Sep 17 00:00:00 2001 From: Lukas Hering Date: Fri, 3 Jul 2026 21:30:51 -0500 Subject: [PATCH] opentelemetry-exporter-otlp-proto-grpc: remove dependence on incubating rpc.response.status_code semconv attribute --- .changelog/5388.fixed | 1 + .../exporter/otlp/proto/grpc/_semconv.py | 13 +++++++++++++ .../exporter/otlp/proto/grpc/exporter.py | 8 ++++---- 3 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 .changelog/5388.fixed create mode 100644 exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/_semconv.py diff --git a/.changelog/5388.fixed b/.changelog/5388.fixed new file mode 100644 index 0000000000..ff30f642a4 --- /dev/null +++ b/.changelog/5388.fixed @@ -0,0 +1 @@ +`opentelemetry-exporter-otlp-proto-grpc`: remove dependence on incubating `rpc.response.status_code` semconv attribute diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/_semconv.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/_semconv.py new file mode 100644 index 0000000000..c1b01e3963 --- /dev/null +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/_semconv.py @@ -0,0 +1,13 @@ +# Copyright The OpenTelemetry Authors +# SPDX-License-Identifier: Apache-2.0 + +# Local copies of unstable/incubating semantic-convention attributes + +from __future__ import annotations + +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from typing import Final + +_RPC_RESPONSE_STATUS_CODE: Final[str] = "rpc.response.status_code" diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py index f7fa0b8697..caf825b218 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py @@ -53,6 +53,9 @@ from opentelemetry.exporter.otlp.proto.grpc import ( _OTLP_GRPC_CHANNEL_OPTIONS, ) +from opentelemetry.exporter.otlp.proto.grpc._semconv import ( + _RPC_RESPONSE_STATUS_CODE, +) from opentelemetry.metrics import MeterProvider from opentelemetry.proto.collector.logs.v1.logs_service_pb2 import ( ExportLogsServiceRequest, @@ -101,9 +104,6 @@ from opentelemetry.semconv._incubating.attributes.otel_attributes import ( OtelComponentTypeValues, ) -from opentelemetry.semconv._incubating.attributes.rpc_attributes import ( - RPC_RESPONSE_STATUS_CODE, -) from opentelemetry.util._importlib_metadata import entry_points from opentelemetry.util.re import parse_env_headers @@ -520,7 +520,7 @@ def _export( ) result.error = error result.error_attrs = { - RPC_RESPONSE_STATUS_CODE: error.code().name + _RPC_RESPONSE_STATUS_CODE: error.code().name } return self._result.FAILURE # type: ignore [reportReturnType] logger.warning(