Skip to content

Commit fb93ba5

Browse files
fix(openai): Always set gen_ai.response.streaming for Responses
1 parent 6455707 commit fb93ba5

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

sentry_sdk/integrations/openai.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -237,10 +237,6 @@ def _set_responses_api_input_data(
237237
if model is not None:
238238
span.set_data(SPANDATA.GEN_AI_REQUEST_MODEL, model)
239239

240-
stream = kwargs.get("stream")
241-
if stream is not None and _is_given(stream):
242-
span.set_data(SPANDATA.GEN_AI_RESPONSE_STREAMING, stream)
243-
244240
max_tokens = kwargs.get("max_output_tokens")
245241
if max_tokens is not None and _is_given(max_tokens):
246242
span.set_data(SPANDATA.GEN_AI_REQUEST_MAX_TOKENS, max_tokens)
@@ -1097,12 +1093,14 @@ def _new_responses_create_common(f: "Any", *args: "Any", **kwargs: "Any") -> "An
10971093
span.__enter__()
10981094

10991095
span.set_data(SPANDATA.GEN_AI_SYSTEM, "openai")
1096+
is_streaming_response = kwargs.get("stream", False)
1097+
span.set_data(SPANDATA.GEN_AI_RESPONSE_STREAMING, is_streaming_response)
1098+
11001099
_set_responses_api_input_data(span, kwargs, integration)
11011100

11021101
start_time = time.perf_counter()
11031102
response = yield f, args, kwargs
11041103

1105-
is_streaming_response = kwargs.get("stream", False)
11061104
if is_streaming_response:
11071105
_set_streaming_responses_api_output_data(
11081106
span, response, kwargs, integration, start_time, finish_span=True

tests/integrations/openai/test_openai.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1784,6 +1784,7 @@ def test_ai_client_span_responses_api_no_pii(sentry_init, capture_events):
17841784
"gen_ai.request.top_p": 0.9,
17851785
"gen_ai.request.model": "gpt-4o",
17861786
"gen_ai.response.model": "response-model-id",
1787+
"gen_ai.response.streaming": False,
17871788
"gen_ai.system": "openai",
17881789
"gen_ai.usage.input_tokens": 20,
17891790
"gen_ai.usage.input_tokens.cached": 5,
@@ -1901,6 +1902,7 @@ def test_ai_client_span_responses_api(
19011902
"gen_ai.request.top_p": 0.9,
19021903
"gen_ai.system": "openai",
19031904
"gen_ai.response.model": "response-model-id",
1905+
"gen_ai.response.streaming": False,
19041906
"gen_ai.usage.input_tokens": 20,
19051907
"gen_ai.usage.input_tokens.cached": 5,
19061908
"gen_ai.usage.output_tokens": 10,
@@ -2210,6 +2212,7 @@ async def test_ai_client_span_responses_async_api(
22102212
"gen_ai.request.messages": '["How do I check if a Python object is an instance of a class?"]',
22112213
"gen_ai.request.model": "gpt-4o",
22122214
"gen_ai.response.model": "response-model-id",
2215+
"gen_ai.response.streaming": False,
22132216
"gen_ai.system": "openai",
22142217
"gen_ai.usage.input_tokens": 20,
22152218
"gen_ai.usage.input_tokens.cached": 5,

0 commit comments

Comments
 (0)