Skip to content

Commit 044259d

Browse files
ref: Replace gen_ai.system with gen_ai.provider.name
1 parent 28d9288 commit 044259d

7 files changed

Lines changed: 23 additions & 14 deletions

File tree

sentry_sdk/consts.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -495,6 +495,12 @@ class SPANDATA:
495495
Example: "qa-pipeline"
496496
"""
497497

498+
GEN_AI_PROVIDER_NAME = "gen_ai.provider.name"
499+
"""
500+
The Generative AI provider as identified by the client or server instrumentation.
501+
Example: "openai"
502+
"""
503+
498504
GEN_AI_RESPONSE_FINISH_REASONS = "gen_ai.response.finish_reasons"
499505
"""
500506
The reason why the model stopped generating.
@@ -605,6 +611,9 @@ class SPANDATA:
605611

606612
GEN_AI_SYSTEM = "gen_ai.system"
607613
"""
614+
.. deprecated::
615+
This attribute is deprecated. Use the GEN_AI_PROVIDER_NAME attribute instead.
616+
608617
The name of the AI system being used.
609618
Example: "openai"
610619
"""

sentry_sdk/integrations/google_genai/__init__.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ def new_generate_content_stream(
9191
)
9292
chat_span.__enter__()
9393
chat_span.set_data(SPANDATA.GEN_AI_OPERATION_NAME, "chat")
94-
chat_span.set_data(SPANDATA.GEN_AI_SYSTEM, GEN_AI_SYSTEM)
94+
chat_span.set_data(SPANDATA.GEN_AI_PROVIDER_NAME, GEN_AI_SYSTEM)
9595
chat_span.set_data(SPANDATA.GEN_AI_REQUEST_MODEL, model_name)
9696
set_span_data_for_request(chat_span, integration, model_name, contents, kwargs)
9797
chat_span.set_data(SPANDATA.GEN_AI_RESPONSE_STREAMING, True)
@@ -166,7 +166,7 @@ async def new_async_generate_content_stream(
166166
)
167167
chat_span.__enter__()
168168
chat_span.set_data(SPANDATA.GEN_AI_OPERATION_NAME, "chat")
169-
chat_span.set_data(SPANDATA.GEN_AI_SYSTEM, GEN_AI_SYSTEM)
169+
chat_span.set_data(SPANDATA.GEN_AI_PROVIDER_NAME, GEN_AI_SYSTEM)
170170
chat_span.set_data(SPANDATA.GEN_AI_REQUEST_MODEL, model_name)
171171
set_span_data_for_request(chat_span, integration, model_name, contents, kwargs)
172172
chat_span.set_data(SPANDATA.GEN_AI_RESPONSE_STREAMING, True)
@@ -234,7 +234,7 @@ def new_generate_content(self: "Any", *args: "Any", **kwargs: "Any") -> "Any":
234234
origin=ORIGIN,
235235
) as chat_span:
236236
chat_span.set_data(SPANDATA.GEN_AI_OPERATION_NAME, "chat")
237-
chat_span.set_data(SPANDATA.GEN_AI_SYSTEM, GEN_AI_SYSTEM)
237+
chat_span.set_data(SPANDATA.GEN_AI_PROVIDER_NAME, GEN_AI_SYSTEM)
238238
chat_span.set_data(SPANDATA.GEN_AI_REQUEST_MODEL, model_name)
239239
chat_span.set_data(SPANDATA.GEN_AI_AGENT_NAME, model_name)
240240
set_span_data_for_request(
@@ -282,7 +282,7 @@ async def new_async_generate_content(
282282
origin=ORIGIN,
283283
) as chat_span:
284284
chat_span.set_data(SPANDATA.GEN_AI_OPERATION_NAME, "chat")
285-
chat_span.set_data(SPANDATA.GEN_AI_SYSTEM, GEN_AI_SYSTEM)
285+
chat_span.set_data(SPANDATA.GEN_AI_PROVIDER_NAME, GEN_AI_SYSTEM)
286286
chat_span.set_data(SPANDATA.GEN_AI_REQUEST_MODEL, model_name)
287287
set_span_data_for_request(
288288
chat_span, integration, model_name, contents, kwargs
@@ -317,7 +317,7 @@ def new_embed_content(self: "Any", *args: "Any", **kwargs: "Any") -> "Any":
317317
origin=ORIGIN,
318318
) as span:
319319
span.set_data(SPANDATA.GEN_AI_OPERATION_NAME, "embeddings")
320-
span.set_data(SPANDATA.GEN_AI_SYSTEM, GEN_AI_SYSTEM)
320+
span.set_data(SPANDATA.GEN_AI_PROVIDER_NAME, GEN_AI_SYSTEM)
321321
span.set_data(SPANDATA.GEN_AI_REQUEST_MODEL, model_name)
322322
set_span_data_for_embed_request(span, integration, contents, kwargs)
323323

@@ -352,7 +352,7 @@ async def new_async_embed_content(
352352
origin=ORIGIN,
353353
) as span:
354354
span.set_data(SPANDATA.GEN_AI_OPERATION_NAME, "embeddings")
355-
span.set_data(SPANDATA.GEN_AI_SYSTEM, GEN_AI_SYSTEM)
355+
span.set_data(SPANDATA.GEN_AI_PROVIDER_NAME, GEN_AI_SYSTEM)
356356
span.set_data(SPANDATA.GEN_AI_REQUEST_MODEL, model_name)
357357
set_span_data_for_embed_request(span, integration, contents, kwargs)
358358

sentry_sdk/integrations/google_genai/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -789,7 +789,7 @@ def set_span_data_for_request(
789789
kwargs: "dict[str, Any]",
790790
) -> None:
791791
"""Set span data for the request."""
792-
span.set_data(SPANDATA.GEN_AI_SYSTEM, GEN_AI_SYSTEM)
792+
span.set_data(SPANDATA.GEN_AI_PROVIDER_NAME, GEN_AI_SYSTEM)
793793
span.set_data(SPANDATA.GEN_AI_REQUEST_MODEL, model)
794794

795795
if kwargs.get("stream", False):

sentry_sdk/integrations/langchain.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -383,9 +383,9 @@ def on_llm_start(
383383

384384
ai_type = all_params.get("_type", "")
385385
if "anthropic" in ai_type:
386-
span.set_data(SPANDATA.GEN_AI_SYSTEM, "anthropic")
386+
span.set_data(SPANDATA.GEN_AI_PROVIDER_NAME, "anthropic")
387387
elif "openai" in ai_type:
388-
span.set_data(SPANDATA.GEN_AI_SYSTEM, "openai")
388+
span.set_data(SPANDATA.GEN_AI_PROVIDER_NAME, "openai")
389389

390390
for key, attribute in DATA_FIELDS.items():
391391
if key in all_params and all_params[key] is not None:
@@ -451,9 +451,9 @@ def on_chat_model_start(
451451

452452
ai_type = all_params.get("_type", "")
453453
if "anthropic" in ai_type:
454-
span.set_data(SPANDATA.GEN_AI_SYSTEM, "anthropic")
454+
span.set_data(SPANDATA.GEN_AI_PROVIDER_NAME, "anthropic")
455455
elif "openai" in ai_type:
456-
span.set_data(SPANDATA.GEN_AI_SYSTEM, "openai")
456+
span.set_data(SPANDATA.GEN_AI_PROVIDER_NAME, "openai")
457457

458458
agent_name = _get_current_agent()
459459
if agent_name:

sentry_sdk/integrations/litellm.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ def _input_callback(kwargs: "Dict[str, Any]") -> None:
103103
_get_metadata_dict(kwargs)["_sentry_span"] = span
104104

105105
# Set basic data
106-
set_data_normalized(span, SPANDATA.GEN_AI_SYSTEM, provider)
106+
set_data_normalized(span, SPANDATA.GEN_AI_PROVIDER_NAME, provider)
107107
set_data_normalized(span, SPANDATA.GEN_AI_OPERATION_NAME, operation)
108108

109109
# Record input/messages if allowed

sentry_sdk/integrations/openai.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ def _commmon_set_input_data(
239239
kwargs: "dict[str, Any]",
240240
) -> None:
241241
# Input attributes: Common
242-
set_data_normalized(span, SPANDATA.GEN_AI_SYSTEM, "openai")
242+
set_data_normalized(span, SPANDATA.GEN_AI_PROVIDER_NAME, "openai")
243243

244244
# Input attributes: Optional
245245
kwargs_keys_to_attributes = {

sentry_sdk/integrations/openai_agents/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def _record_exception_on_span(span: "Span", error: Exception) -> "Any":
6161

6262
def _set_agent_data(span: "sentry_sdk.tracing.Span", agent: "agents.Agent") -> None:
6363
span.set_data(
64-
SPANDATA.GEN_AI_SYSTEM, "openai"
64+
SPANDATA.GEN_AI_PROVIDER_NAME, "openai"
6565
) # See footnote for https://opentelemetry.io/docs/specs/semconv/registry/attributes/gen-ai/#gen-ai-system for explanation why.
6666

6767
span.set_data(SPANDATA.GEN_AI_AGENT_NAME, agent.name)

0 commit comments

Comments
 (0)