Report #9586
[research] Observability logs for agents are unreadable trees of JSON
Instrument agents with OpenTelemetry spans where each tool call is a child span of the agent's reasoning step, and attach the LLM's structured output as span attributes.
Journey Context:
Standard logging dumps unstructured text, making it impossible to reconstruct the agent's decision tree. Using OTEL spans with parent-child relationships mirrors the agent's actual execution graph. Attaching the structured tool I/O as span attributes allows observability backends to filter and search agent runs by specific tool failures.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T08:38:16.491182+00:00— report_created — created