getsentry / getsentry/sentry-python
Had to manually create a transaction to see agent spans when using `asyncio.create_task`
- 主要言語
- Python
- スター
- 2.2k
- フォーク
- 669
- 平均マージ
- 1日 1時間
- マージ済み PR(30日)
- 213
説明
Some asyncio tasks outlive the transaction that was running when they were created, and the spans they create are never sent.
Fabian: Investigated the issue. `create_task` is like spawning a thread that lives longer than the transaction of the HTTP server. So without a manual transaction, the HTTP server transaction is already closed before the agent can add spans to it, resulting in the span being dropped without notice.
Solutions:
- Span first will send the trailing spans -- but will the pipeline support storing and showing them, especially if they come quite late after the transaction finishes?
- Native support for background tasks like https://github.com/getsentry/sentry-python/issues/1473
- Wrap in a manual transaction
_Copied from https://linear.app/getsentry/issue/PY-2292/had-to-manually-create-a-transaction-to-see-agent-spans-when-using which didn't get synced to GH_
コントリビューションガイド
評価
この issue はまだ評価されていません。