The bay four benches live

Turn the
knobs

Every line drawn here comes out of moonbitstack/moonward compiled to JavaScript — the same types, the same arithmetic, the same presets. Nothing on this page models the library; it calls it.

engine loading…

01

Breaker

a backend fails, then recovers live
refused per 100 ms refused ratio %
0 s2 s4 s6 s8 s10 s
0peak ratio
0calls let through
0refused

Let the outage run long enough and the breaker stops refusing within its ten-second window.

02

Limiters

three answers to the same traffic live

One second of traffic, counted three ways. Every bar is a tenth of a second.

admitted per 100 ms through
bucket
sliding
period
0 s1 s2 s3 s4 s5 s6 s
0offered
0bucket
0sliding
0period

The bucket spends a saved burst and the period can spend one quota on each side of a boundary; the slide refuses the twenty-first call wherever the window starts.

03

Backoff

twenty-four clients, one policy live
wait before retry n 24 draws ceiling
0first wait
0last wait
0spread at the last retry

Rigid lines every client up on the same millisecond. Full spreads them over the whole ceiling. Spread keeps them inside a fifth of it.

04

Shedder

a server whose load climbs live

The run starts idle and the load climbs. The CPU follows it, which is what eventually makes the server hot.

calls in flight flying refused cpu
0 s3 s6 s9 s12 s
0peak in flight
0refused
0cpu at the end

A fast server never gets hot, and a hot one with nothing queued sheds nothing. Both have to be true.

The four benches run on one small program that calls the published primitives and returns its frames as JSON. The clock is a millisecond counter it advances itself; the draws are one seeded generator, so the same knobs give the same picture.