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.
Define the breaker contract
These controls decide how much evidence is enough and how cautiously recovery is tested.
Rolling failures needed to open.
Ignore tiny, noisy samples.
Shape traffic and dependency health
Traffic, errors, latency, and retries determine downstream pressure and the evidence the policy observes.
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.
Closed
ActiveCalls are admitted
Open when rolling failure evidence crosses the policy.
Open
Calls fail fast
Wait for the cooldown before permitting recovery probes.
Half-open
Only probes are admitted
Close after healthy probes; reopen on the first failed probe.
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.
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
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