The Lost Trace
#incident-response — VIP payment failure, trace broken
Support: Gateway trace ID req-gw-8f7a9b appears in Auth logs but Payment Service shows req-pay-4c2x9z. Cannot correlate the failed checkout across services.
The trap: Auth receives X-Correlation-ID but does not inject it into outbound HTTP headers — Payment generates a random ID.
Your task
Fix `handleCheckout()` in `observability_server.js`: propagate `x-correlation-id` on every downstream httpClient.fetch call.
Book: add logging · Prod: explicit header propagation or the trace dies at every boundary.
Skills you'll prove
Interview Tip
When asked how you debug microservices or implement distributed tracing, say: "In a distributed system, a single user request bounces through multiple services. If you don't propagate context, you lose visibility at every boundary. I solve this by implementing a Correlation ID pattern. I extract the X-Correlation-ID from the ingress headers, inject it into the structured logger context (using AsyncLocalStorage in Node), and explicitly pass it in the headers of every outbound HTTP call. This guarantees that no matter how many services a request touches, I can grep a single ID and see the entire end-to-end trace."