From ece696aeb0f05fb01581d760a75c1a7c9d98f304 Mon Sep 17 00:00:00 2001 From: Alexander Alderman Webb Date: Thu, 26 Feb 2026 16:14:01 +0100 Subject: [PATCH 1/3] fix(openai): Attach response model with streamed Responses API --- sentry_sdk/integrations/openai.py | 4 ++++ tests/integrations/openai/test_openai.py | 1 + 2 files changed, 5 insertions(+) diff --git a/sentry_sdk/integrations/openai.py b/sentry_sdk/integrations/openai.py index 1a408ef0b8..6b3ab4062a 100644 --- a/sentry_sdk/integrations/openai.py +++ b/sentry_sdk/integrations/openai.py @@ -760,6 +760,8 @@ def new_iterator() -> "Iterator[ChatCompletionChunk]": data_buf[0].append(x.delta or "") if isinstance(x, ResponseCompletedEvent): + span.set_data(SPANDATA.GEN_AI_RESPONSE_MODEL, x.response.model) + _calculate_token_usage( input, x.response, @@ -807,6 +809,8 @@ async def new_iterator_async() -> "AsyncIterator[ChatCompletionChunk]": data_buf[0].append(x.delta or "") if isinstance(x, ResponseCompletedEvent): + span.set_data(SPANDATA.GEN_AI_RESPONSE_MODEL, x.response.model) + _calculate_token_usage( input, x.response, diff --git a/tests/integrations/openai/test_openai.py b/tests/integrations/openai/test_openai.py index cb6f65565f..c00c355207 100644 --- a/tests/integrations/openai/test_openai.py +++ b/tests/integrations/openai/test_openai.py @@ -2460,6 +2460,7 @@ async def test_ai_client_span_streaming_responses_async_api( expected_data = { "gen_ai.operation.name": "responses", + "gen_ai.response.model": "response-model-id", "gen_ai.response.streaming": True, "gen_ai.system": "openai", "gen_ai.response.time_to_first_token": mock.ANY, From 731754f587d2d93271c864effd3348277808d980 Mon Sep 17 00:00:00 2001 From: Alexander Alderman Webb Date: Thu, 26 Feb 2026 16:24:02 +0100 Subject: [PATCH 2/3] add assertion --- tests/integrations/openai/test_openai.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/integrations/openai/test_openai.py b/tests/integrations/openai/test_openai.py index 97dd4e152a..8a9b1ff22a 100644 --- a/tests/integrations/openai/test_openai.py +++ b/tests/integrations/openai/test_openai.py @@ -2775,6 +2775,8 @@ def test_streaming_responses_api( (span,) = transaction["spans"] assert span["op"] == "gen_ai.responses" + assert span["data"][SPANDATA.GEN_AI_RESPONSE_MODEL] == "response-model-id" + if send_default_pii and include_prompts: assert span["data"][SPANDATA.GEN_AI_REQUEST_MESSAGES] == '["hello"]' assert span["data"][SPANDATA.GEN_AI_RESPONSE_TEXT] == "hello world" From 63a9c715caa5603c1f80da82fce67193fcdf222d Mon Sep 17 00:00:00 2001 From: Alexander Alderman Webb Date: Thu, 26 Feb 2026 16:31:43 +0100 Subject: [PATCH 3/3] . --- tests/integrations/openai/test_openai.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/integrations/openai/test_openai.py b/tests/integrations/openai/test_openai.py index 3c87053dd2..a0f138bbde 100644 --- a/tests/integrations/openai/test_openai.py +++ b/tests/integrations/openai/test_openai.py @@ -2828,6 +2828,8 @@ async def test_streaming_responses_api_async( (span,) = transaction["spans"] assert span["op"] == "gen_ai.responses" + assert span["data"][SPANDATA.GEN_AI_RESPONSE_MODEL] == "response-model-id" + if send_default_pii and include_prompts: assert span["data"][SPANDATA.GEN_AI_REQUEST_MESSAGES] == '["hello"]' assert span["data"][SPANDATA.GEN_AI_RESPONSE_TEXT] == "hello world"