Academy / Week 3 / Observability & Feature Deep Dives / Understanding Jaeger Tracing in Weave

Understanding Jaeger Tracing in Weave

Lesson 12.1⏱ ~8 minWeek 3

💡 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

Open in Google Drive 💡 Open in Drive for AI-powered transcript search

📋 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.

🏷 Key Concepts

JaegerOpenTelemetryDistributed TracingTrace IDX-View-Debug-ID HeaderSpanNWx Debug ModeControl+Shift+XMicroservice Request Flow

Key Takeaways

01Bookmark Jaeger in your browser — you'll use it for nearly every production bug investigation
02Control + Shift + X enables tracing in NWx without any setup or extension
03The X-View-Debug-ID header is the link between a frontend action and its Jaeger trace
04OpenTelemetry is the instrumentation layer — Jaeger is just the visualization UI
05Always check Jaeger before asking a teammate — the trace usually tells you exactly which service failed