HomeChallengesRepsProblemsLeaderboardTake a challenge

Correlate across two services

Ordering calls Billing and the two sets of logs cannot be joined. Make one request carry one identity across the boundary, add a span for the work that matters, and hand the trace id back so a support ticket can quote it.

Advanced25 min on the clock6 graded checks · 100 pointsA Request You Can TracePro
Graded by reading your code against the checklist below.

What you build

  • Tracing registered for the host and for outgoing HTTP
  • An ActivitySource for spans you name yourself
  • A span around the call into Billing
  • Tags carrying the ids you will search on
  • A failed call marked as an error on the span
  • The trace id returned on the response

Done means

One request produces one trace across both services, and the id on the response finds it.

How it is graded

Published in full, before you start — every point is one of these and there is nothing else.

  1. Tracing is registered for the host and for outgoing calls+25Running it in production
  2. You own an ActivitySource for your own spans+20Running it in production
  3. The call into Billing is its own span+20What services may know
  4. Spans carry the ids you will search by+15Running it in production
  5. A failed call is marked failed on the span+10Error handling
  6. The trace id comes back on the response+10Running it in production

What it teaches

The rest of A Request You Can Trace