From f4762063f1d6e8f9e7e6b33da64b1983e398e453 Mon Sep 17 00:00:00 2001 From: rite7sh Date: Wed, 17 Dec 2025 16:44:37 +0530 Subject: [PATCH 1/3] refactor(asgi): replace HTTP_SERVER_NAME SpanAttribute with semconv attribute Refs #3475 --- .../src/opentelemetry/instrumentation/asgi/__init__.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py b/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py index 60c43f6db0..edb2300f01 100644 --- a/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py +++ b/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py @@ -219,6 +219,7 @@ def client_response_hook(span: Span, scope: Scope, message: dict[str, Any]): from asgiref.compatibility import guarantee_single_callable + from opentelemetry import context, trace from opentelemetry.instrumentation._semconv import ( HTTP_DURATION_HISTOGRAM_BUCKETS_NEW, @@ -288,7 +289,9 @@ def client_response_hook(span: Span, scope: Scope, message: dict[str, Any]): redact_url, sanitize_method, ) - +from opentelemetry.semconv._incubating.attributes.http_attributes import ( + HTTP_SERVER_NAME, +) class ASGIGetter(Getter[dict]): def get( @@ -397,7 +400,7 @@ def collect_request_attributes( http_host_value_list = asgi_getter.get(scope, "host") if http_host_value_list: if _report_old(sem_conv_opt_in_mode): - result[SpanAttributes.HTTP_SERVER_NAME] = ",".join( + result[HTTP_SERVER_NAME] = ",".join( http_host_value_list ) http_user_agent = asgi_getter.get(scope, "user-agent") From 9789577bfee08b258f564fbf44482aefff62e038 Mon Sep 17 00:00:00 2001 From: Ritesh Traipathi Date: Fri, 19 Dec 2025 15:40:21 +0530 Subject: [PATCH 2/3] Update instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py Co-authored-by: Riccardo Magliocchetti --- .../src/opentelemetry/instrumentation/asgi/__init__.py | 1 - 1 file changed, 1 deletion(-) diff --git a/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py b/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py index edb2300f01..8e1c1df799 100644 --- a/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py +++ b/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py @@ -219,7 +219,6 @@ def client_response_hook(span: Span, scope: Scope, message: dict[str, Any]): from asgiref.compatibility import guarantee_single_callable - from opentelemetry import context, trace from opentelemetry.instrumentation._semconv import ( HTTP_DURATION_HISTOGRAM_BUCKETS_NEW, From a6bd905a54e40a9c1df20d6232b076a784313340 Mon Sep 17 00:00:00 2001 From: Ritesh Traipathi Date: Fri, 19 Dec 2025 15:46:51 +0530 Subject: [PATCH 3/3] Update instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py Co-authored-by: Riccardo Magliocchetti --- .../src/opentelemetry/instrumentation/asgi/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py b/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py index 8e1c1df799..541c28d1ab 100644 --- a/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py +++ b/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py @@ -399,7 +399,7 @@ def collect_request_attributes( http_host_value_list = asgi_getter.get(scope, "host") if http_host_value_list: if _report_old(sem_conv_opt_in_mode): - result[HTTP_SERVER_NAME] = ",".join( + result[HTTP_SERVER_NAME] = ",".join( http_host_value_list ) http_user_agent = asgi_getter.get(scope, "user-agent")