Skip to main contentSkip to user menuSkip to navigation
Interactive design lab

Circuit Breaker Simulator

What is a circuit breaker?

A circuit breaker watches recent dependency outcomes. When failures cross a policy threshold, it rejects calls locally, waits for a cooldown, and admits a small number of probes before restoring normal traffic.

Step 1

Model

Tune the rolling evidence window, failure threshold, cooldown, timeout, recovery probes, request rate, dependency health, and retry behavior.

Step 2

Observe

Trace closed, open, and half-open transitions while comparing admitted, failed, timed-out, and rejected requests with the user-visible fallback.

Step 3

Challenge

Inject an outage or retry storm, advance the clock until the circuit opens, then select Recovery and watch the cooldown and probe contract decide whether traffic is restored.

Resilience workbench

Trace the breaker, not just the error rate

Tune the policy, pressure the dependency, and advance a deterministic clock to see exactly why calls are admitted, rejected, or probed.

Challenge the healthy configuration

Scenario presets only change dependency pressure. The breaker keeps its evidence, so you can inject a failure and then switch to recovery.

1

Define the breaker contract

These controls decide how much evidence is enough and how cautiously recovery is tested.

Rolling failures needed to open.

50%
10% sensitive90% tolerant

Ignore tiny, noisy samples.

20
5 requests100 requests
5s
2s reactive12s stable
4s
2s12s
4
2 probes12 probes
800ms
200ms2,000ms
2

Shape traffic and dependency health

Traffic, errors, latency, and retries determine downstream pressure and the evidence the policy observes.

40/s
5 req/s150 req/s
4%
0%100%
180ms
50ms3,000ms
0
No retries4 retries

Dependency attempts

40/s

1.00x user load

Timeout verdict

Within budget

180ms vs 800ms

Simulation clock · t+0s

Follow every state transition

One step represents one second of requests. Run a burst to build rolling evidence, then select Recovery to observe cooldown and probes.

Dependency path is serving users

The circuit is closed. Requests reach the dependency and successful responses return normally.

Rolling evidence and request outcomes

The breaker evaluates admitted failures inside the configured window. Rejected calls protect the dependency but still require a fallback.

Gathering sample

Rolling failures

0%

0 of 0 admitted calls

Successful outcomes

0%

0 user requests completed

Fast fallback

0%

0 requests rejected by the breaker

Failure budget

50%

20 minimum calls across 5s

SucceededFailedTimed outRejected

Request path at t+0s

Counts show the latest simulated second, not cumulative totals.

User traffic

40/s

Includes retry amplification

Circuit breaker

Closed

0 admitted · 0 rejected

Dependency

180ms

4% errors before timeouts

No quiz questions available
Could not load questions file
Spotted an issue or have a better explanation? This page is open source.Edit on GitHub·Suggest an improvement