getsentry / getsentry/sentry-python

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

オープン
#5,812 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る
Bug Python Spans
主要言語
Python
スター
2.2k
フォーク
669
平均マージ
1日 1時間
マージ済み PR(30日)
213

説明

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

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。