A worked example, rendered from real sample data. Sign in to run the tool on your own input.
failure_threshold=5
success_threshold=2
half_open_after_ms=30000
interval_ms=250
requests=200
failure_rate=0.6
recovers_at=90
seed=demo═══ What this tool did ═══
✗ Nothing was measured. No service was called, no failure rate was observed, and no breaker in your system was inspected. This page runs entirely on the server that rendered it and makes no outbound network calls.
✓ It runs a circuit-breaker state machine over synthetic traffic: 200 calls, 250ms apart, each one failing with probability 0.60 drawn from a generator seeded with "demo". Same seed, same run, every time.
✓ You set recovers_at=90, so from call 90 onwards the synthetic downstream never fails. That is how the half-open → closed path gets exercised.
═══ Configuration read from your input ═══
setting value means
------------------ ------- ------------------------------------------------------------
failure_threshold 5 consecutive failures in CLOSED before the breaker opens
success_threshold 2 consecutive successes in HALF_OPEN before it closes again
half_open_after_ms 30000ms how long OPEN lasts before one probe is allowed through
half_open_calls 2 calls allowed through while HALF_OPEN, the rest are rejected
timeout_ms 2000ms per-call timeout; a timeout counts as a failure
interval_ms 250ms gap between the synthetic calls
failure_rate 0.60 probability the synthetic downstream fails a call
═══ State transitions ═══
• 2250ms CLOSED → OPEN after 5 consecutive failures
• 32250ms OPEN → HALF_OPEN after 30000ms — one probe is let through
• 32500ms HALF_OPEN → CLOSED after 2 consecutive successes
═══ Call by call ═══
t call state on entry outcome
----
…
Run a seeded, reproducible circuit-breaker state machine over synthetic traffic and see exactly when it trips, opens and closes. Part of the DevTools Surf developer suite. Browse more tools in the Developer Utilities collection.