[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:
 http://www.netways.de/uploads/media/Sebastian_Harl_How_to_Escape_the_IO_Hell_02.pdf

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?

The "SECURITY CONSIDERATIONS" of
 http://oss.oetiker.ch/rrdtool/doc/rrdcached.en.html
has nothing about this...

Greets,
 Jeroen

[1] The thing that collects the data for
    https://www.sixxs.net/misc/traffic/
    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/librrd.sym.in.in:rrdc_connect
./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