[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