From f654159b72c2c8b5da01877d66b3633e3479eff6 Mon Sep 17 00:00:00 2001 From: Betina Benaduce Date: Fri, 15 May 2026 15:26:44 -0300 Subject: [PATCH] feat: propagate W3C baggage headers into OTel context --- src/sap_cloud_sdk/core/telemetry/middleware/starlette_a2a.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/sap_cloud_sdk/core/telemetry/middleware/starlette_a2a.py b/src/sap_cloud_sdk/core/telemetry/middleware/starlette_a2a.py index 1b34c73..fb6d087 100644 --- a/src/sap_cloud_sdk/core/telemetry/middleware/starlette_a2a.py +++ b/src/sap_cloud_sdk/core/telemetry/middleware/starlette_a2a.py @@ -3,6 +3,7 @@ import logging from contextvars import ContextVar from typing import Any, Dict +from opentelemetry import context as otel_context, propagate from sap_cloud_sdk.core.telemetry.constants import ( ATTR_SAP_TRIGGER_TYPE, @@ -32,9 +33,12 @@ def __init__(self, app: Any, attrs_var: ContextVar[Dict[str, Any]]) -> None: async def dispatch(self, request: Request, call_next: Any) -> Response: token = self._attrs_var.set(_extract_ias_attrs(request)) + ctx = propagate.extract(request.headers) + ctx_token = otel_context.attach(ctx) try: return await call_next(request) finally: + otel_context.detach(ctx_token) self._attrs_var.reset(token)