Skip to content

Commit 8fc3c93

Browse files
ref(openai): Remove set_data_normalized for primitive attributes
1 parent 594dce5 commit 8fc3c93

File tree

1 file changed

+11
-22
lines changed

1 file changed

+11
-22
lines changed

sentry_sdk/integrations/openai.py

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ def _commmon_set_input_data(
225225
kwargs: "dict[str, Any]",
226226
) -> None:
227227
# Input attributes: Common
228-
set_data_normalized(span, SPANDATA.GEN_AI_SYSTEM, "openai")
228+
span.set_data(SPANDATA.GEN_AI_SYSTEM, "openai")
229229

230230
# Input attributes: Optional
231231
kwargs_keys_to_attributes = {
@@ -241,26 +241,25 @@ def _commmon_set_input_data(
241241
value = kwargs.get(key)
242242

243243
if value is not None and _is_given(value):
244-
set_data_normalized(span, attribute, value)
244+
span.set_data(attribute, value)
245245

246246
# Input attributes: Tools
247247
tools = kwargs.get("tools")
248248
if tools is not None and _is_given(tools) and len(tools) > 0:
249-
set_data_normalized(
250-
span, SPANDATA.GEN_AI_REQUEST_AVAILABLE_TOOLS, safe_serialize(tools)
251-
)
249+
span.set_data(SPANDATA.GEN_AI_REQUEST_AVAILABLE_TOOLS, safe_serialize(tools))
252250

253251

254252
def _set_responses_api_input_data(
255253
span: "Span",
256254
kwargs: "dict[str, Any]",
257255
integration: "OpenAIIntegration",
258256
) -> None:
257+
span.set_data(SPANDATA.GEN_AI_OPERATION_NAME, "responses")
258+
259259
explicit_instructions: "Union[Optional[str], Omit]" = kwargs.get("instructions")
260260
messages: "Optional[Union[str, ResponseInputParam]]" = kwargs.get("input")
261261

262262
if not should_send_default_pii() or not integration.include_prompts:
263-
set_data_normalized(span, SPANDATA.GEN_AI_OPERATION_NAME, "responses")
264263
_commmon_set_input_data(span, kwargs)
265264
return
266265

@@ -281,12 +280,10 @@ def _set_responses_api_input_data(
281280
),
282281
)
283282

284-
set_data_normalized(span, SPANDATA.GEN_AI_OPERATION_NAME, "responses")
285283
_commmon_set_input_data(span, kwargs)
286284
return
287285

288286
if messages is None:
289-
set_data_normalized(span, SPANDATA.GEN_AI_OPERATION_NAME, "responses")
290287
_commmon_set_input_data(span, kwargs)
291288
return
292289

@@ -319,7 +316,6 @@ def _set_responses_api_input_data(
319316
span, SPANDATA.GEN_AI_REQUEST_MESSAGES, messages_data, unpack=False
320317
)
321318

322-
set_data_normalized(span, SPANDATA.GEN_AI_OPERATION_NAME, "responses")
323319
_commmon_set_input_data(span, kwargs)
324320
return
325321

@@ -335,7 +331,6 @@ def _set_responses_api_input_data(
335331
span, SPANDATA.GEN_AI_REQUEST_MESSAGES, messages_data, unpack=False
336332
)
337333

338-
set_data_normalized(span, SPANDATA.GEN_AI_OPERATION_NAME, "responses")
339334
_commmon_set_input_data(span, kwargs)
340335

341336

@@ -344,6 +339,8 @@ def _set_completions_api_input_data(
344339
kwargs: "dict[str, Any]",
345340
integration: "OpenAIIntegration",
346341
) -> None:
342+
span.set_data(SPANDATA.GEN_AI_OPERATION_NAME, "chat")
343+
347344
messages: "Optional[Union[str, Iterable[ChatCompletionMessageParam]]]" = kwargs.get(
348345
"messages"
349346
)
@@ -353,7 +350,6 @@ def _set_completions_api_input_data(
353350
or not integration.include_prompts
354351
or messages is None
355352
):
356-
set_data_normalized(span, SPANDATA.GEN_AI_OPERATION_NAME, "chat")
357353
_commmon_set_input_data(span, kwargs)
358354
return
359355

@@ -365,13 +361,11 @@ def _set_completions_api_input_data(
365361
set_data_normalized(
366362
span, SPANDATA.GEN_AI_REQUEST_MESSAGES, messages_data, unpack=False
367363
)
368-
set_data_normalized(span, SPANDATA.GEN_AI_OPERATION_NAME, "chat")
369364
_commmon_set_input_data(span, kwargs)
370365
return
371366

372367
# dict special case following https://github.com/openai/openai-python/blob/3e0c05b84a2056870abf3bd6a5e7849020209cc3/src/openai/_utils/_transform.py#L194-L197
373368
if not isinstance(messages, Iterable) or isinstance(messages, dict):
374-
set_data_normalized(span, SPANDATA.GEN_AI_OPERATION_NAME, "chat")
375369
_commmon_set_input_data(span, kwargs)
376370
return
377371

@@ -399,7 +393,6 @@ def _set_completions_api_input_data(
399393
span, SPANDATA.GEN_AI_REQUEST_MESSAGES, messages_data, unpack=False
400394
)
401395

402-
set_data_normalized(span, SPANDATA.GEN_AI_OPERATION_NAME, "chat")
403396
_commmon_set_input_data(span, kwargs)
404397

405398

@@ -408,6 +401,8 @@ def _set_embeddings_input_data(
408401
kwargs: "dict[str, Any]",
409402
integration: "OpenAIIntegration",
410403
) -> None:
404+
span.set_data(SPANDATA.GEN_AI_OPERATION_NAME, "embeddings")
405+
411406
messages: "Union[str, SequenceNotStr[str], Iterable[int], Iterable[Iterable[int]]]" = kwargs.get(
412407
"input"
413408
)
@@ -417,13 +412,11 @@ def _set_embeddings_input_data(
417412
or not integration.include_prompts
418413
or messages is None
419414
):
420-
set_data_normalized(span, SPANDATA.GEN_AI_OPERATION_NAME, "embeddings")
421415
_commmon_set_input_data(span, kwargs)
422416

423417
return
424418

425419
if isinstance(messages, str):
426-
set_data_normalized(span, SPANDATA.GEN_AI_OPERATION_NAME, "embeddings")
427420
_commmon_set_input_data(span, kwargs)
428421

429422
normalized_messages = normalize_message_roles([messages]) # type: ignore
@@ -440,7 +433,6 @@ def _set_embeddings_input_data(
440433

441434
# dict special case following https://github.com/openai/openai-python/blob/3e0c05b84a2056870abf3bd6a5e7849020209cc3/src/openai/_utils/_transform.py#L194-L197
442435
if not isinstance(messages, Iterable) or isinstance(messages, dict):
443-
set_data_normalized(span, SPANDATA.GEN_AI_OPERATION_NAME, "embeddings")
444436
_commmon_set_input_data(span, kwargs)
445437
return
446438

@@ -458,7 +450,6 @@ def _set_embeddings_input_data(
458450
span, SPANDATA.GEN_AI_EMBEDDINGS_INPUT, messages_data, unpack=False
459451
)
460452

461-
set_data_normalized(span, SPANDATA.GEN_AI_OPERATION_NAME, "embeddings")
462453
_commmon_set_input_data(span, kwargs)
463454

464455

@@ -471,7 +462,7 @@ def _set_output_data(
471462
finish_span: bool = True,
472463
) -> None:
473464
if hasattr(response, "model"):
474-
set_data_normalized(span, SPANDATA.GEN_AI_RESPONSE_MODEL, response.model)
465+
span.set_data(SPANDATA.GEN_AI_RESPONSE_MODEL, response.model)
475466

476467
# Input messages (the prompt or data sent to the model)
477468
# used for the token usage calculation
@@ -583,9 +574,7 @@ def new_iterator() -> "Iterator[ChatCompletionChunk]":
583574

584575
with capture_internal_exceptions():
585576
if ttft is not None:
586-
set_data_normalized(
587-
span, SPANDATA.GEN_AI_RESPONSE_TIME_TO_FIRST_TOKEN, ttft
588-
)
577+
span.set_data(SPANDATA.GEN_AI_RESPONSE_TIME_TO_FIRST_TOKEN, ttft)
589578
if len(data_buf) > 0:
590579
all_responses = ["".join(chunk) for chunk in data_buf]
591580
if should_send_default_pii() and integration.include_prompts:

0 commit comments

Comments
 (0)