A checkout request spans 4 microservices (API Gateway → Order → Inventory → Payment). P99 latency is 4s but you cannot tell which service is slow. Add distributed tracing.
Distributed tracing injects a trace ID into the first request and propagates it in headers across all service calls; each service records a span (start time, duration) and reports it to a collector, which reconstructs the full call tree. The payoff is visibility: instead of correlating disconnected logs from four services, you get a waterfall view that shows exactly where time is spent across service boundaries — finding the owner of a 4-second P99 latency becomes a two-second lookup. Use it in architectures with two or more services that call each other synchronously; without tracing, latency regressions in microservices are very hard to diagnose.
Evaluation criteria and weights will be revealed after you submit your solution. This ensures a fair assessment of your design skills.
Draw your architecture diagram, explain your design decisions, and get AI-powered feedback.
For the best experience, design challenges on a desktop or tablet — drawing the architecture on a phone is hard.