Evaluation tells you if the app is good; observability tells you what it's doing in production. Learn structured logging, traces and spans, and cost/latency/token accounting — then instrument Docent so every request is logged, traced, and costed.
Welcome to Observability & Tracing, the seventh module. Everything so far has been evaluation: judging quality against datasets before you ship. But once Docent is live and serving real users, a different question takes over — what is it actually doing right now, and when something breaks at 2 a.m., can you see why? That’s observability, and the rule is blunt: you can only debug what you captured.
You’ll build the capture layer. First, structured logging — turning every model call into a queryable record of prompt, response, model, tokens, latency, and cost. Then traces and spans — following a single request as it flows through retrieval, tool calls, and generation, so you can see exactly where time and tokens went. Finally, rigorous cost, latency, and token accounting, including the percentiles (p50, p95) that reveal the slow tail an average hides. The guided project wires all of it into Docent, so every request leaves behind a trace, a cost, and a latency you can inspect and aggregate.
Start with Lesson 1, where evaluation hands off to observability — and “is it good?” becomes “what is it doing?”
Complete all 5 lessons to finish the Observability & Tracing module.