getsentry / getsentry/sentry-python
Bug: Streaming responses don't capture `response_id` or `model_version`
- Lingua principale
- Python
- Stelle
- 2.2k
- Fork
- 669
- Merge medio
- 1g 1h
- PR unite (30g)
- 213
Descrizione
## 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
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.