A beautiful, real-time ping graph for your terminal — built in pure Rust.
prettyping helps you spot latency spikes and packet loss at a glance, without the noisy wall of classic ping output.
This project is inspired by the excellent prettyping shell script.
Why prettyping?
- Instant visual signal: see connection quality trends in one line
- Pure Rust runtime: no
ping | awksubprocess pipeline - Built for long runs: clean terminal mode and log-friendly plain mode
- Cross-platform direction: first-class Linux/macOS, Windows best-effort
Features
- Unicode or ASCII graph output
- Optional color and multi-color latency buckets
- Global stats and recent-window stats
- Terminal auto-detection with manual override
- Native flags for count, interval, timeout, payload size, TTL, IPv4/IPv6
Quick start
Install from source
Repo/package name: prettyping-rs
Installed command: prettyping
Run
More examples
# Stop after 10 probes prettyping -c 10 1.1.1.1 # Faster probing prettyping -i 0.2 -W 1 8.8.8.8 # Force plain output (good for logs/pipes) prettyping --noterminal --nounicode --nocolor -c 20 example.com # Force IPv6 prettyping -6 example.com
Platform support
| Platform | Status | Backend |
|---|---|---|
| Linux | First-class | surge-ping |
| macOS | First-class | surge-ping |
| Windows | Best-effort | ping-async |
ICMP permissions can be restricted by OS/network policy. See Troubleshooting.
Documentation
Compatibility notes
- Removed legacy passthrough flags:
--awkbin,--pingbin(hard error) - Unsupported legacy flags:
-f,-R,-q,-a(hard error) - Legacy
-vis accepted and ignored - No
httpingmode - No JSON output mode
Exit codes
0success (including controlled interrupt)1runtime/backend/network failure2usage/config error
License
MIT
