Skip to main content

09 – Capstone Project: Tracing a Real Microservices System

Learning Objectives

  • Deploy a multi-service app and instrument all services.
  • Route traces via Collector to Tempo; debug real issues using TraceQL and service graphs.

Scenario

  • Services: cart, orders, payments, user, inventory.
  • REST + async messaging; DB calls and external APIs to simulate realistic latencies.

Requirements

  • Use the stack from Section 5.
  • Choose one language per service or mix languages.

Tasks

  • Auto-instrument frameworks; add manual spans around business logic (checkout, payment auth).
  • Add attributes: customer.id, order.id, tenant, env.
  • Configure tail-based sampling to always keep error traces.

Debugging Exercises

  • Inject 300–800ms latency in payments; locate via TraceQL and service graphs.
  • Trigger retry storms in cart; verify exponential backoff and identify root cause.
  • Find N+1 queries in user service; fix and compare before/after traces.

Deliverables

  • Short report with screenshots: slow span waterfall, TraceQL queries used, and the fix.

Rubric (example)

  • Instrumentation coverage (30%)
  • Analysis quality (30%)
  • Fix effectiveness (30%)
  • Documentation quality (10%)

Resources

  • Reference microservices demos by OTel community or your own repo.

Visual: Capstone Architecture