Skip to content

Commit b8d396b

Browse files
fix(openai-agents): Remove context variables
1 parent 7857282 commit b8d396b

File tree

4 files changed

+12
-35
lines changed

4 files changed

+12
-35
lines changed

sentry_sdk/integrations/openai_agents/_context_vars.py

Lines changed: 0 additions & 18 deletions
This file was deleted.

sentry_sdk/integrations/openai_agents/patches/agent_run.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ def _start_invoke_agent_span(context_wrapper, agent, kwargs):
3434
span = invoke_agent_span(context_wrapper, agent, kwargs)
3535
context_wrapper._sentry_agent_span = span
3636

37+
return span
38+
3739
def _end_invoke_agent_span(context_wrapper, agent, output=None):
3840
# type: (agents.RunContextWrapper, agents.Agent, Optional[Any]) -> None
3941
"""End the agent invocation span"""
@@ -73,7 +75,8 @@ async def patched_run_single_turn(cls, *args, **kwargs):
7375
if current_agent and current_agent != agent:
7476
_end_invoke_agent_span(context_wrapper, current_agent)
7577

76-
_start_invoke_agent_span(context_wrapper, agent, kwargs)
78+
span = _start_invoke_agent_span(context_wrapper, agent, kwargs)
79+
agent._sentry_agent_span = span
7780

7881
# Call original method with all the correct parameters
7982
result = await original_run_single_turn(*args, **kwargs)

sentry_sdk/integrations/openai_agents/patches/models.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,8 @@
22

33
from sentry_sdk.integrations import DidNotEnable
44

5-
from .._context_vars import (
6-
_invoke_agent_response_model_context,
7-
_response_model_context,
8-
)
95
from ..spans import ai_client_span, update_ai_client_span
6+
from sentry_sdk.consts import SPANDATA
107

118
from typing import TYPE_CHECKING
129

@@ -47,7 +44,7 @@ async def wrapped_fetch_response(*args, **kwargs):
4744
response = await original_fetch_response(*args, **kwargs)
4845
# Store model from raw response in context variable
4946
if hasattr(response, "model"):
50-
_response_model_context.set(str(response.model))
47+
agent._sentry_raw_response_model = str(response.model)
5148
return response
5249

5350
model._fetch_response = wrapped_fetch_response
@@ -59,13 +56,15 @@ async def wrapped_get_response(*args, **kwargs):
5956
result = await original_get_response(*args, **kwargs)
6057

6158
# Retrieve response model from context and attach to ModelResponse
62-
response_model = _response_model_context.get(None)
59+
response_model = getattr(agent, "_sentry_raw_response_model", None)
6360
if response_model:
6461
result._sentry_response_model = response_model
65-
_response_model_context.set(None) # Clear context
6662

67-
# Also store for invoke_agent span (will be the last one used)
68-
_invoke_agent_response_model_context.set(response_model)
63+
agent_span = getattr(agent, "_sentry_agent_span", None)
64+
if agent_span:
65+
agent_span.set_data(
66+
SPANDATA.GEN_AI_RESPONSE_MODEL, response_model
67+
)
6968

7069
update_ai_client_span(span, agent, kwargs, result)
7170

sentry_sdk/integrations/openai_agents/spans/invoke_agent.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
from sentry_sdk.scope import should_send_default_pii
1010
from sentry_sdk.utils import safe_serialize
1111

12-
from .._context_vars import _invoke_agent_response_model_context
1312
from ..consts import SPAN_ORIGIN
1413
from ..utils import _set_agent_data, _set_usage_data
1514

@@ -89,12 +88,6 @@ def update_invoke_agent_span(context, agent, output):
8988
if hasattr(context, "usage"):
9089
_set_usage_data(span, context.usage)
9190

92-
# Add response model if available (will be the last model used)
93-
response_model = _invoke_agent_response_model_context.get(None)
94-
if response_model:
95-
span.set_data(SPANDATA.GEN_AI_RESPONSE_MODEL, response_model)
96-
_invoke_agent_response_model_context.set(None) # Clear after use
97-
9891
if should_send_default_pii():
9992
set_data_normalized(
10093
span, SPANDATA.GEN_AI_RESPONSE_TEXT, output, unpack=False

0 commit comments

Comments
 (0)