[smokeping-users] status update smokeping-3.x

Tobias Oetiker tobi at oetiker.ch
Wed Oct 30 22:34:03 CET 2013

Hi SmokePing Users,

Over the last days I have been working on the re-designing the code
for running smokeping probes.  My idea is go with an event based design
for version 3, this means that smokeping will be able to run more
probes, more efficiently while using less resources.

SmokePing probes usually spend most of their time waiting for some
latency measurment task to complete. From a performance point of
view this is rather bad, especially if multiple probes are doing this waiting
one after the other. Often, the probe starts some external command
which in turn performs some measurement and then retuns with the
result. Or some perl code does some request over the network and
waits for it to complete. In either case, the probe has to wait for
the result.

Current SmokePing aproaches this performance probelm by forking
probes into multiple instances which then run in parallel.

In the new event based design, this idea is taken much further.
With the help of the AnyEvent perl module it is possible to launch
an external program or even some perl code and attach a sub routine
to this task which gets called once the external program completes
or the forked perl code returns. So the main smokeping probe loop
can lanuch many external probing tasks in parallel while
automatically processing their return data once it becomes

The task of writing the probe measurments out to rrd files will
also slow the main probing loop, to solve this an external rrd
writer process will do the actual updateing of rrd files, leaving
the main loop free to lanuch probes. If too many updates are
hitting the rrd writer, successive updates to the same rrd file
will be automatically combined, this improving the write

stay tuned, soon there will be some initial code for this probe
runner loop.


Tobi Oetiker, OETIKER+PARTNER AG, Aarweg 15 CH-4600 Olten, Switzerland
http://it.oetiker.ch tobi at oetiker.ch ++41 62 775 9902 / sb: -9900

More information about the smokeping-users mailing list