MongoDBExplainer
Agent Observability: Monitoring Decisions, Not Requests
Summary
Agent observability captures the sequence of decisions an agent makes between model calls, not just request-level metrics, and is distinct from monitoring (health) and evaluation (quality). Unlike deterministic database systems, an agent can succeed at every step yet fail overall—for example, looping forever on a failed fix while spans report success. The primary artifact is a trace, a parent-child tree of spans covering agent invocations, model calls, tool executions, and memory reads and writes. OpenTelemetry GenAI conventions define span types like create_agent and execute_tool, but the standards are still in development and change frequently; vendor support includes Datadog, Honeycomb, and frameworks like LangChain and CrewAI. A reasoning trace layer on top of operational telemetry explains why an agent chose that path; in multi-agent systems the trace must span the full coordination chain, not one agent’s output.
Context
The post is the sixth part of a series on designing an agentic platform, written by MongoDB engineers. It addresses the gap between traditional request-level monitoring and the observability needed for non-deterministic agent systems.
Approach / What changed
The approach is to instrument agent systems using OpenTelemetry GenAI semantic conventions for traces, capturing spans for agent invocations, tool executions, and memory access. Additionally, a reasoning trace layer captures the sequence of decisions, and in multi-agent systems the trace spans the full coordination chain.
Takeaways
Agent observability isolates three distinct jobs: monitoring (system health), observability (reconstructing what the agent did and why), and evaluation (judging quality).
An agent can succeed at every individual step yet fail overall, as in a loop that never converges while individual spans report success; traditional request-level monitoring cannot detect this failure class.
OpenTelemetry GenAI semantic conventions define agent span types (create_agent, execute_tool) and are supported by vendors like Datadog and frameworks like LangChain; spans must carry attributes beyond name and duration to enable cross-trace queries.
FAQ
How does agent observability differ from database monitoring?
Database monitoring is for deterministic systems where failure is explicit (slow query, missing index). Agent systems are non-deterministic; every step can succeed while the overall run fails, so observability must capture decision sequences, not just request metrics.
What is the recommended standard for agent traces?
The OpenTelemetry GenAI semantic conventions define span types like create_agent, invoke_agent, execute_tool. As of mid-2026 they are still in development, have changed frequently, but are supported by Datadog, Honeycomb, New Relic, Grafana, and frameworks like LangChain and CrewAI.
Why must memory access be logged in the trace?
Memory access (queries and returned context) must appear in the trace next to model and tool spans so that a failure can be attributed to retrieval issues rather than being mistaken for reasoning or tool problems.
Source and freshness
- Source
- mongodb.com
- Published
- Added to Yomu
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.