@@ -97,6 +97,7 @@ class RunData(TypedDict):
9797 dotted_order : str
9898 parent_run_id : Optional [str ]
9999 project_name : Optional [str ]
100+ name : Optional [str ]
100101
101102 class OpenAIAgentsTracingProcessor (tracing .TracingProcessor ): # type: ignore[no-redef]
102103 """Tracing processor for the `OpenAI Agents SDK <https://openai.github.io/openai-agents-python/>`_.
@@ -211,6 +212,7 @@ def on_trace_start(self, trace: tracing.Trace) -> None:
211212 dotted_order = dotted_order ,
212213 parent_run_id = parent_run_id ,
213214 project_name = project_name ,
215+ name = run_name ,
214216 )
215217
216218 run_extra = {"metadata" : self ._metadata or {}}
@@ -285,19 +287,30 @@ def on_span_start(self, span: tracing.Span) -> None:
285287 run_id = span_run_id ,
286288 parent_dotted_order = parent_run ["dotted_order" ] if parent_run else None ,
287289 )
290+ run_name = agent_utils .get_run_name (span )
291+ if isinstance (span .span_data , tracing .ResponseSpanData ):
292+ parent_name = parent_run .get ("name" )
293+ raw_span_name = getattr (span , "name" , None ) or getattr (
294+ span .span_data , "name" , None
295+ )
296+ span_name = str (raw_span_name ) if raw_span_name else run_name
297+ if parent_name :
298+ run_name = f"{ parent_name } { span_name } " .strip ()
299+ else :
300+ run_name = span_name
301+ run_type = agent_utils .get_run_type (span )
302+ extracted = agent_utils .extract_span_data (span )
303+
288304 self ._runs [span .span_id ] = RunData (
289305 id = span_run_id ,
290306 trace_id = trace_id ,
291307 start_time = span_start_time ,
292308 dotted_order = dotted_order ,
293309 parent_run_id = parent_run ["id" ],
294310 project_name = parent_run ["project_name" ],
311+ name = run_name ,
295312 )
296313
297- run_name = agent_utils .get_run_name (span )
298- run_type = agent_utils .get_run_type (span )
299- extracted = agent_utils .extract_span_data (span )
300-
301314 try :
302315 run_data : dict = dict (
303316 name = run_name ,
0 commit comments