Announcing a prettier noping
I have implemented really pretty histograms in the venerable ping
software, something I never thought could be improved, until I discovered prettyping.sh
, something that was just begging for improvements.
Which are now done.
But first some history...
First, in 1983 (!), there was ping and network operators rejoiced, as they could see if a host was down or not, and have all sorts of geeky statistics:
PING koumbit.net (209.44.112.66): 48 data bytes
56 bytes from 209.44.112.66: icmp_seq=0 ttl=52 time=25.076 ms
56 bytes from 209.44.112.66: icmp_seq=1 ttl=52 time=24.006 ms
56 bytes from 209.44.112.66: icmp_seq=2 ttl=52 time=24.106 ms
^C--- koumbit.net ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 24.006/24.396/25.076/0.483 ms
Then, in 2006, there was noping, and things were, well, not much better, but we had colors and could ping multiple hosts at once, and there was some rejoicing.
Then, in october 2013, there was prettyping.sh(announcement), and things got really flashy and "oh wow, you can do that?" There was much rejoicing.
Then, tonight, I learned ncurses and there was much headaches.
But then, I reimplemented prettyping in noping, and I am so happy that I wrote this blog post:
Unless you haven't figured out how cool this is, let me break it down for you:
- it supports IPv4 and IPv6
- it allows you to track multiple hosts at the same time, and compare them
- this allows you to easily track down failure points in a network, something for which you usually need smokeping (needs a webserver) or mtr (doesn't have colors)
- it allows you to track a lot (the last minute at least) of history by default
- it is visually easy to track, even from a distance
You may know of that hack that can make "ping" ring a bell when it receives a packet? This is better: you can see the packets latency (or when they are just dropped!) from a distance, using an intuitive color code.
Thanks to the well architectured noping
, the patches were not that complicated to implemented.
The code was submitted as a pull request upstream and merged in the 1.7.0 release. This is also part of your favorite Debian distribution (Debian Jessie).
Rejoice!