A log line is a standalone event. It carries a timestamp and a message, but nothing that ties it to the retrieval step, the model turn, and the tool call that together produced one answer. When several users hit an agent at once, entries from different runs interleave in the same stream and the failing run becomes hard to reconstruct by hand. Traces exist precisely to preserve those relationships: a span represents one unit of work, and parent and child spans mirror how the code executed, so a reader can follow one request from start to finish with every step in context Braintrust.
The OpenTelemetry primer draws the same distinction. Logs "aren't enough for tracking code execution, as they usually lack contextual information, such as where they were called from," and they become far more useful when included inside a span or correlated with a trace and span ID the observability primer. That is the whole argument for applying request tracing to agent runs: the interesting questions ("why did it pick that tool?", "which document did it cite?") are relational, not point-in-time.
Agents make the problem worse than ordinary microservices because the same input can take a different path on the next run. The model can choose a different tool, retrieval can return a different set of documents, and a single request can span multiple model calls before returning an answer Braintrust. A trace is the only artifact that captures which path was taken.
There is a practical reason to build on OpenTelemetry specifically. It is an open source, vendor-neutral framework, so instrumentation is written once and exported to any backend without touching application code when the backend changes what is OpenTelemetry. Semantic conventions supply standard key names for common operations, which is what stops one team logging userId and another user_id OpenTelemetry overview.
The remaining design work is deciding what goes on each span. This article gives the field list per step, the size and privacy decisions that go with it, and the sampling rule that keeps the cost sane.



