getsentry / getsentry/sentry-python

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

Open
#5,828 1 comment 0 reactions 0 assignees View on GitHub
Improvement Python Spans
Dominant language
Python
Stars
2.2k
Forks
669
Avg merge
1d 40m
Merged PRs (30d)
212

Description

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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.