OTel GenAI span hierarchy for one agent turn
agent.invoke_agent INTERNAL gen_ai.agent.name=research-agent
llm.chat CLIENT model=gpt-4o
tool.execute INTERNAL tool=get_weather(Bengaluru)
mcp.call CLIENT server=notes transport=stdio traceparent=...
tool.execute INTERNAL tool=get_weather(Tokyo)
mcp.call CLIENT
tool.execute INTERNAL tool=get_weather(Zurich)
mcp.call CLIENT
llm.chat CLIENT synthesize
one trace id; 11 spans; every GenAI attribute prefixed gen_ai.* (spec v1.37+)