Observability
OpenTelemetry
See everything. Traces, metrics, logs -- unified.
Trace View
Waterfall: One Request, Many Spans
Every request generates a trace. Each operation is a span. Click to inspect.
Trace ID:a3f2ccc45nn...
253ms0ms63ms127ms190ms253ms
Service Map
Distributed Traces Across Services
OTel instruments every service. Watch traces flow between them in real time.
Signal Correlation
OTel works when signals connect
The point is not collecting more telemetry. The point is making one incident readable from multiple angles.
Traces
Show request shape, parent-child spans, and latency hotspots.
Metrics
Track the aggregate picture: throughput, saturation, and error rate.
Logs
Keep the event detail that explains what happened inside each span.
Implementation
Instrumentation after the diagrams
const tracer = trace.getTracer("orders-api")
await tracer.startActiveSpan("GET /api/orders", async (span) => {
span.setAttribute("http.method", "GET")
span.setAttribute("user.id", userId)
try {
const orders = await db.getOrders(userId)
span.setAttribute("orders.count", orders.length)
return orders
} finally {
span.end()
}
})