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 (126.96.36.199): 48 data bytes 56 bytes from 188.8.131.52: icmp_seq=0 ttl=52 time=25.076 ms 56 bytes from 184.108.40.206: icmp_seq=1 ttl=52 time=24.006 ms 56 bytes from 220.127.116.11: 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.
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.