getsentry / getsentry/sentry-python

Bug: Streaming responses don't capture `response_id` or `model_version`

Offen
#5,812 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Bug Python Spans
Vorherrschende Sprache
Python
Sterne
2.2k
Forks
669
Ø Merge
1 T. 1 Std.
Gemergte PRs (30 T.)
213

Beschreibung

## Problem

In `streaming.py`, the `accumulate_streaming_response()` function initializes `response_id` and `model` to `None` (lines 53-54) but **never populates them** from the streaming chunks. The accumulation loop (lines 56-83) never reads `chunk.response_id` or `chunk.model_version`.

This means streaming responses will always have `null` for `gen_ai.response.id` and `gen_ai.response.model`.

The non-streaming path correctly captures both in `utils.py:886-890`:

```python
if getattr(response, "response_id", None):
span.set_data(SPANDATA.GEN_AI_RESPONSE_ID, response.response_id)
if getattr(response, "model_version", None):
span.set_data(SPANDATA.GEN_AI_RESPONSE_MODEL, response.model_version)
```

## Files

* `sentry_sdk/integrations/google_genai/streaming.py` — `accumulate_streaming_response()`

## Acceptance Criteria

* Streaming chunks are checked for `response_id` and `model_version`
* `gen_ai.response.id` and `gen_ai.response.model` are populated on streaming spans
* Test added to verify streaming responses capture these fields

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.