formal modeling for perf

The outage that outlives its cause.

This is a live discrete-event simulation of a service graph under timeouts, retries, and open-loop load — running in your browser, deterministically. Kill the database and retries amplify demand until the whole system collapses. Then the part nobody's intuition survives: heal the database, and the system stays down. That's a metastable failure — the mechanism behind a long list of famous outages. Flip on a circuit breaker or load shedding and watch it find its way back.

deterministic · seeded · zero backend — every preset below is enforced as a property test (P1–P16) in Zimac's CI, the simulator is validated against closed-form queueing theory (Erlang-C, Pollaczek–Khinchine, Little's law, USL, fan-out tail multiplication, hedging — conformance C1–C9; P1–P16), and this page runs that same verified engine compiled to WebAssembly

Scenario
Fixes
healthy goodput
–
goodput after heal
–
work wasted after heal
–
peak queue
–
latency p50 · p99
–
system verdict
–

Dependency graph

t = 0s

Demand vs. delivery

requests/s

    Queue depth

    waiting requests

      Client attempts

      attempts/s at the front door

        The guided tour

        Model your own system

        Sketch an entire distributed system — every tier, call edge, client population, and outage — three ways, all equivalent and kept in sync: point-and-click builder, the Storm DSL (a line per fact, like you'd describe it at a whiteboard), or raw JSON. Every change re-runs the simulation instantly, and the permalink reproduces your exact run for anyone.

        services

        nameserversservicequeue cap

        calls

        fromtotimeoutretriesbrkbudjit

        client populations

        namerate/sentrytimeoutretries

        outages & horizon

        servicekill atheal atvanish
        Data table — windowed rates