getsentry / getsentry/sentry-python

Instrument Live/Streaming API (`client.aio.live`)

未关闭
#5,828 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
Improvement Python Spans
主要语言
Python
星标
2.2k
派生
669
平均合并
1 天 1 小时
30 天内合并 PR
213

描述

## Problem

The real-time multimodal API (`client.aio.live`) is not instrumented. This is an async-only API with complex bidirectional streaming:

* `AsyncLive.connect(model, config)` — async context manager yielding `AsyncSession`
* `AsyncSession.send_client_content()` — non-realtime turn-based content
* `AsyncSession.send_realtime_input()` — realtime audio/video/text streaming
* `AsyncSession.send_tool_response()` — tool call responses
* `AsyncSession.receive()` — async iterator of server messages
* `AsyncLiveMusic` — music generation sub-API

## Complexity

This is the most complex API to instrument due to its bidirectional streaming nature. May require a different instrumentation approach than request/response spans.

## Files

* `sentry_sdk/integrations/google_genai/__init__.py` — `setup_once()` needs additional patches

## Acceptance Criteria

* Live API sessions produce spans capturing model, connection lifecycle, and errors
* Tool responses within live sessions are tracked
* Tests verify basic span creation for live sessions

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

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