Problems / LLM serving, easy

Tracing drops spans

Every request writes a trace to an observability service limited to 2,000 spans a minute. At 60 requests a second, traces are rejected and requests fail with them.

Free to open. Runs in your browser, no sign-up.

Your goals

Success ≥ 99%.

The traffic

60 requests a second for 30 seconds: 100% request (reads).

The system

What each component does in this design, and what calls it. The simulator mimics each one from these settings.

ComponentIts job hereSettings
Load balancerLoad balancerTraffic enters here.Calls AI app.Layer 4 balancers route by IP and port; layer 7 balancers read HTTP and can route by path or header.–
AI appApp serviceLoad balancer forwards to it.Calls Agent tracing, GPU serving pool.Little's law: throughput ≈ concurrency ÷ latency. 200 slots at 50 ms serve about 4,000 req/s.3 replicas × 500 slots · timeout 30 s
Agent tracingAgent tracingAI app calls it.Agent traces record every model and tool call with inputs, outputs, tokens and timing.5000 slots · 2,000 calls/min
GPU serving poolSelf-hosted serving poolAI app calls it.GPU servers batch requests together; throughput rises with batch size until memory runs out.400 slots

Hints

Try it first. Open one hint at a time if you get stuck.

Hint 1

Check the tracing component’s 429s.

Hint 2

Tracing must never fail the request it observes.

One way to solve it

Raise the tracing quota (and in real systems, send traces asynchronously).

More llm serving problems