An interactive dashboard for OmniPaxos. OmniPaxos is a Rust library used for building highly-available distributed systems. Users can input operations and simulate network failures to get a visualization of the behavior of OmniPaxos.
📺 Check out the playground in action on YouTube!
Run and attach to the playground:
$ ./playground.sh attach
(exit by pressing 'q' or 'esc')
Stop the playground:
$ ./playground kill
Attach to dashboard of individual servers (s1, s2, ... , s5)
$ docker attach s1
- Normal requests:
put <key> <value> [server]
,get <key> [server]
,delete <key> [server]
- Batch of write requests:
batch <num_requests>
- Partial connectivity scenarios:
scenario <chained | constrained | qloss>
- Set connections:
connection <server1> <server2> <true | false>
- Disconnect server from all other servers:
connection <server> false
- Restore all connections:
scenario restore
Kudos to the maintainers and contributors of the ratatui crate that enabled us to build the OmniPaxos dashboard in Rust.