getsentry / getsentry/sentry-python

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

Aperta
#5,828 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Improvement Python Spans
Lingua principale
Python
Stelle
2.2k
Fork
669
Merge medio
1g 1h
PR unite (30g)
213

Descrizione

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

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.