getsentry / getsentry/sentry-python
Bug: Streaming responses don't capture `response_id` or `model_version`
- Linguagem predominante
- Python
- Estrelas
- 2.2k
- Forks
- 669
- Merge médio
- 1d 1h
- PRs com merge (30d)
- 213
Descrição
## 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
Guia de contribuição
Avaliação
Esta issue ainda não foi avaliada.