[rrd-developers] rrdcached API documentation?

Jeroen Massar jeroen at massar.ch
Fri Oct 24 12:29:43 CEST 2014

Hola muchachos,

I was checking on adding rrdcached support to the SixXS
statistics daemon[1] to get it a bit out of IO hell...

$ du -hcs rrd
21G	rrd
21G	total

if you get my drift ;) [which might be little for some folks...]

But apart from:

I can't find any API documentation, using those APIs I googled a bit:

A google(rrdc_connect site:oss.oetiker.ch) is empty.

A google(rrdc_connect site:oetiker.ch) gives only the patches
on the mailinglist.

The Debian librrd-dev does not have anything either and I can't
seem to find it in the source tarballs (see below) unless I am
looking in the wrong location.

Is there a small minimal example application that shows the ropes?

Also, if rrdcached opens the files, how are permissions handled?
Especially when the calling process runs as user X and the daemon
as user Y. Or is it expected that rrdcached runs as X or at least
in the right group?

has nothing about this...


[1] The thing that collects the data for
    but also traffic + latency stats for the individual tunnels

rrdtool-1.4.7$ rgrep rrdc_connect .
./src/rrd_update.c:        int status = rrdc_connect(opt_daemon);
./src/rrd_client.c:static int rrdc_connect_unix (const char *path) /* {{{ */
./src/rrd_client.c:} /* }}} int rrdc_connect_unix */
./src/rrd_client.c:static int rrdc_connect_network (const char *addr_orig) /* {{{ */
./src/rrd_client.c:} /* }}} int rrdc_connect_network */
./src/rrd_client.c:int rrdc_connect (const char *addr) /* {{{ */
./src/rrd_client.c:    status = rrdc_connect_unix (addr + strlen ("unix:"));
./src/rrd_client.c:    status = rrdc_connect_unix (addr);
./src/rrd_client.c:    status = rrdc_connect_network(addr);
./src/rrd_client.c:} /* }}} int rrdc_connect */
./src/rrd_client.c:  rrdc_connect(opt_daemon);
./src/rrd_xport.c:        int status = rrdc_connect(im.daemon_addr);
./src/rrd_graph.c:        int status = rrdc_connect(im->daemon_addr);
./src/rrd_flushcached.c:    status = rrdc_connect(opt_daemon);
./src/rrd_client.h:int rrdc_connect (const char *addr);
./src/rrd_client.h:#	define rrdc_connect(a) 0
./debian/librrd4.symbols: rrdc_connect at Base 1.4~rc2
./debian/librrd4.symbols: rrdc_connect at Base 1.4~rc2

More information about the rrd-developers mailing list