Understanding Jaeger Tracing in Weave
Why This Matters
When a bug is reported in production, you need to trace a request as it flows through multiple Weave microservices. Jaeger is the tool for this. Knowing how to enable it, read a trace, and find the failing span will dramatically speed up your debugging.
What You'll Learn
- What Jaeger is: an open-source distributed tracing tool for visualizing metrics and request flows
- What OpenTelemetry is: the backend framework that instruments endpoints, APIs, SDKs, and message queues with trace IDs
- How to enable tracing in NWx: Control + Shift + X (no extension needed)
- What the X-View-Debug-ID request header is and how it links a frontend action to a backend trace
- How to look up a trace in Jaeger using the debug ID to see the full request path across services
- What a Jaeger trace shows: spans, service names, latency, and errors
Watch Video
Lesson Summary
Jaeger is Weave's distributed tracing tool. OpenTelemetry instruments all services — every request gets an ID that is passed between microservices as a header. To trace a request in NWx, press Control + Shift + X to enable tracing (it's built in). A debug ID appears and is sent as the X-View-Debug-ID header. Copy this ID into Jaeger to see the full request path: every service it touched, how long each step took, and where failures occurred. This end-to-end visibility is the fastest way to find which service caused a production issue.