| Crates.io | pingmon |
| lib.rs | pingmon |
| version | 0.1.4 |
| created_at | 2025-12-09 05:29:47.106869+00 |
| updated_at | 2025-12-09 10:34:01.926715+00 |
| description | Real-time ping monitor with beautiful ASCII charts, TTL display, and statistics |
| homepage | https://github.com/cumulus13/pingmon |
| repository | https://github.com/cumulus13/pingmon |
| max_upload_size | |
| id | 1974882 |
| size | 60,105 |
Real-time ping monitor with beautiful ASCII charts, TTL display, and comprehensive statistics.
✨ Two Chart Types:
pingmon - Line chart using ASCII characterspingmon2 - Vertical bar chart with filled blocks📊 Real-time Visualization:
📈 Comprehensive Statistics:
🎨 Beautiful Output:
cargo install pingmon
git clone https://github.com/cumulus13/pingmon
cd pingmon
cargo build --release
The binaries will be in target/release/:
pingmon (line chart)pingmon2 (bar chart)# Ping Google DNS (8.8.8.8) with line chart
pingmon
# Ping specific host with bar chart
pingmon2 1.1.1.1
# Ping with custom interval
pingmon google.com -i 0.5
USAGE:
pingmon [OPTIONS] [HOST]
pingmon-bar [OPTIONS] [HOST]
ARGS:
<HOST> Target host to ping [default: 8.8.8.8]
OPTIONS:
-H, --height <HEIGHT> Chart height [default: 15 for pingmon, 12 for bar]
-W, --width <WIDTH> Chart width (0 = auto) [default: 0]
-i, --interval <INTERVAL> Interval between pings (seconds) [default: 1.0]
-s, --static-mode Simple line-by-line output without chart
-c, --chart-only Only show chart and current status
-h, --help Print help information
-V, --version Print version information
# Ping with custom chart size
pingmon 8.8.8.8 -H 20 -W 100
# Fast pinging (every 0.5 seconds)
pingmon google.com -i 0.5
# Static mode (no chart, just lines)
pingmon cloudflare.com --static-mode
# Chart-only mode (minimal display)
pingmon-bar 1.1.1.1 --chart-only
# Tall bar chart
pingmon-bar -H 25
Full-featured display with header, statistics, and chart.
=== Real-time Ping Monitor: 8.8.8.8 ===
Latency: 20.07 ms | TTL: 112 | Status: CONNECTED
Statistics:
Sent: 45 | Received: 45 | Lost: 0 (0.0%)
Min: 18.23ms | Avg: 20.15ms | Max: 25.67ms | StdDev: 1.45ms
Latency History (ms):
[ASCII chart here]
-s)Simple line-by-line output, perfect for logging.
Pinging 8.8.8.8 ...
seq=1 20.07ms ttl=112 (loss=0.0% avg=20.07ms)
seq=2 19.85ms ttl=112 (loss=0.0% avg=19.96ms)
seq=3 21.34ms ttl=112 (loss=0.0% avg=20.42ms)
-c)Minimal display with just status and chart.
Latency: 20.07 ms | TTL: 112 | Status: CONNECTED | Host: 8.8.8.8
Latency History (ms):
[ASCII chart here]
pingmon)Latency History (ms):
25.0 ┤ ╭╮
20.0 ┤ ╭───╯╰─╮
15.0 ┼─╯ ╰─
10.0 ┤
pingmon-bar)Latency History (ms):
39.6 │ █ █
26.4 │█████████████
13.2 │█████████████
0.0 └──────────────
sudo or CAP_NET_RAW capabilityInstead of using sudo every time, you can set the capability:
# After installation
sudo setcap cap_net_raw+ep $(which pingmon)
sudo setcap cap_net_raw+ep $(which pingmon-bar)
pingmon uses:
The tool automatically:
Press Ctrl+C to stop. Final statistics will be displayed:
✓ Stopped
Final Statistics:
Packets: Sent = 45, Received = 45, Lost = 0 (0.0%)
Latency: Min = 18.23ms, Avg = 20.15ms, Max = 25.67ms, StdDev = 1.45ms
Linux/macOS:
# Option 1: Use sudo
sudo pingmon 8.8.8.8
# Option 2: Set capability (recommended)
sudo setcap cap_net_raw+ep ~/.cargo/bin/pingmon
Windows:
Make sure the hostname is correct:
pingmon google.com # Correct
pingmon gogle.com # Will fail - typo
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see LICENSE file for details
Hadi Cahyadi - cumulus13@gmail.com