-
Notifications
You must be signed in to change notification settings - Fork 602
Capture HTTP request/response headers on outbound http.client spans #5935
Description
Problem Statement
The Python SDK currently captures HTTP request/response headers for incoming server requests (e.g., in Django, aiohttp server handlers), but does not capture any headers on outbound http.client spans.
For outbound HTTP calls, only method, URL, query string, fragment, status code, and reason are recorded. Users debugging issues with external API calls would benefit from seeing request and response headers on these spans as well.
This applies to all HTTP client integrations: aiohttp, httpx, stdlib/httplib, and pyreqwest.
Solution Brainstorm
Add opt-in support for capturing HTTP request and response headers on outbound http.client spans. The existing _filter_headers / SENSITIVE_HEADERS mechanism used for incoming request headers could be reused to scrub sensitive values (Authorization, Cookie, etc.) before attaching headers to outbound spans. The send_default_pii flag could control whether scrubbing is applied, consistent with how incoming headers are handled today.
Metadata
Metadata
Assignees
Fields
Give feedbackProjects
Status