ping-exp: Ping experiment utility
Recently I’ve been playing with Linux’s QoS features in order to make my home Internet service a little better. Since I’m primarily interested in latency I used ping to benchmark the various configurations. This works reasonably well but it quickly becomes hard to compare the results.
So I decided to build a tool to perform several ping experiments, store the results and graph them. The result of this work is ping-exp.
At present ping-exp can vary the destination host name as well as the TOS field. The interval between pings and total number of pings is globally configurable. The results can be written to a file to be loaded later, output to a PNG or both. Line and scatter plots are supported. When not writing the image to a file ping-exp displays the graph using Matplotlib’s default graph viewer. This allows zooming in on interesting parts of the graph. In the future I’d like to add the ability to specify the ping packet size.
As an aside, Python and Matplotlib make this kind of stuff so much fun.
Below are a few graphs created by ping-exp.




June 28th, 2009 at 1727
[...] been doing some more experimentation with Linux QoS configurations using my ping-exp utility. Today I noticed that whenever I add a SFQ to the configuration there are large latency [...]
January 7th, 2010 at 1418
I just wanted to say thank you for this awesome little script/utility. I have been searching around for something like this for a while, but I’ve never found anything appropriate. I had just about broken down and hacked something together myself when I came across this. You’ve saved me a good few hours work, thank you!
January 7th, 2010 at 2112
Glad you like it. If you have any feature requests let me know. Hopefully I’ll get to spend some time on it in the future.