RRDTool, (was Re: mnesia, large datasets and key range lookups)

Anders Nygren <>
Tue Jul 13 18:35:35 CEST 2004

I dont know if this can be useful for the original question, but I thougth that this could
be a good time to mention that I have made an erlang interface to RRDTool.

See http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/ for more info on RRDTool.
RRDTool has two main parts 
a) A database for timeseries data
b) A graphing tool

The database assumes that data is sampled at regular intervals, e.g. every 5 min.
If it does not receive data at the exact times it will interpolate.
It has functions for aggregation of data, so for instance You can
keep one set of data in 5 min intervals for 2 days, 1 hour intervals for 3 week, etc
(You get the idea).

The erlang rrdtool interface consists of two parts
rrd_lib: - library with most rrdtool functions, communicates with one rrdtool
               process via a port.

rrdtool: - server that keeps several workers that each controls one rrdtool process
            - file locking to prevent concurrent updates to the same rrd file

I am also working on a higher level interface that will hide some of the rrdtool
details from the erlang program.

I have not put it up for download anywhere yet but if there is interest I can do that.

/Anders Nygren

More information about the erlang-questions mailing list