Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions sentry_sdk/integrations/google_genai/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ def new_generate_content_stream(self, *args, **kwargs):
chat_span.set_data(SPANDATA.GEN_AI_REQUEST_MODEL, model_name)
set_span_data_for_request(chat_span, integration, model_name, contents, kwargs)
chat_span.set_data(SPANDATA.GEN_AI_RESPONSE_STREAMING, True)
chat_span.set_data(SPANDATA.GEN_AI_AGENT_NAME, model_name)

try:
stream = f(self, *args, **kwargs)
Expand Down Expand Up @@ -165,6 +166,7 @@ async def new_async_generate_content_stream(self, *args, **kwargs):
chat_span.set_data(SPANDATA.GEN_AI_REQUEST_MODEL, model_name)
set_span_data_for_request(chat_span, integration, model_name, contents, kwargs)
chat_span.set_data(SPANDATA.GEN_AI_RESPONSE_STREAMING, True)
chat_span.set_data(SPANDATA.GEN_AI_AGENT_NAME, model_name)

try:
stream = await f(self, *args, **kwargs)
Expand Down Expand Up @@ -233,6 +235,7 @@ def new_generate_content(self, *args, **kwargs):
chat_span.set_data(SPANDATA.GEN_AI_OPERATION_NAME, "chat")
chat_span.set_data(SPANDATA.GEN_AI_SYSTEM, GEN_AI_SYSTEM)
chat_span.set_data(SPANDATA.GEN_AI_REQUEST_MODEL, model_name)
chat_span.set_data(SPANDATA.GEN_AI_AGENT_NAME, model_name)
set_span_data_for_request(
chat_span, integration, model_name, contents, kwargs
)
Comment on lines 235 to 241
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: _wrap_async_generate_content omits setting SPANDATA.GEN_AI_AGENT_NAME on the chat span.
Severity: HIGH | Confidence: 1.00

🔍 Detailed Analysis

The _wrap_async_generate_content function fails to set the SPANDATA.GEN_AI_AGENT_NAME on the chat span. This omission occurs when handling async non-streaming generate_content calls, leading to inconsistent span data compared to other wrapper functions which correctly set this attribute. Consequently, monitoring attributes for these specific calls will be incomplete.

💡 Suggested Fix

Add chat_span.set_data(SPANDATA.GEN_AI_AGENT_NAME, model_name) within the _wrap_async_generate_content function, specifically after setting SPANDATA.GEN_AI_REQUEST_MODEL.

🤖 Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: sentry_sdk/integrations/google_genai/__init__.py#L235-L241

Potential issue: The `_wrap_async_generate_content` function fails to set the
`SPANDATA.GEN_AI_AGENT_NAME` on the chat span. This omission occurs when handling async
non-streaming `generate_content` calls, leading to inconsistent span data compared to
other wrapper functions which correctly set this attribute. Consequently, monitoring
attributes for these specific calls will be incomplete.

Did we get this right? 👍 / 👎 to inform future reviews.

Expand Down