getsentry / getsentry/sentry-python

Capture HTTP request/response headers on outbound http.client spans

未关闭
#5,935 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
Feature Python Spans
主要语言
Python
星标
2.2k
派生
669
平均合并
1 天 40 分钟
30 天内合并 PR
212

描述

### 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.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。