Skip to content

Commit 0fc7340

Browse files
duanyutongnirga
andauthored
fix(openai-agents): optional import of optional deps (#3488)
Co-authored-by: Nir Gazit <[email protected]>
1 parent 9a48736 commit 0fc7340

File tree

1 file changed

+9
-3
lines changed
  • packages/opentelemetry-instrumentation-openai-agents/opentelemetry/instrumentation/openai_agents

1 file changed

+9
-3
lines changed

packages/opentelemetry-instrumentation-openai-agents/opentelemetry/instrumentation/openai_agents/_hooks.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,12 @@
1313
from agents.tracing.processors import TracingProcessor
1414
from .utils import dont_throw
1515

16-
from traceloop.sdk.tracing import set_agent_name
16+
try:
17+
# Attempt to import once, so that we aren't looking for it repeatedly.
18+
# Each failed lookup is somewhat expensive as it has to walk the path.
19+
from traceloop.sdk.tracing import set_agent_name
20+
except ModuleNotFoundError:
21+
set_agent_name = None
1722

1823

1924
class OpenTelemetryTracingProcessor(TracingProcessor):
@@ -77,8 +82,9 @@ def on_span_start(self, span):
7782

7883
if isinstance(span_data, AgentSpanData):
7984
agent_name = getattr(span_data, 'name', None) or "unknown_agent"
80-
# Set agent name in OpenTelemetry context for propagation to child spans
81-
set_agent_name(agent_name)
85+
86+
if set_agent_name is not None:
87+
set_agent_name(agent_name)
8288

8389
handoff_parent = None
8490
trace_id = getattr(span, 'trace_id', None)

0 commit comments

Comments
 (0)