Add a "FETCH" command to RRDCacheD which behaves like a (simplified
authoroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Mon, 29 Mar 2010 17:03:57 +0000 (17:03 +0000)
committeroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Mon, 29 Mar 2010 17:03:57 +0000 (17:03 +0000)
commit7953cece011b214be4a2663beaa46149c8c58eee
tree516c3b16a8a2ea9c7786f8cd15fc94cfe9f040e5
parent49593a6456b8dd4e82f82d8c76aaf21ce876ea92
Add a "FETCH" command to RRDCacheD which behaves like a (simplified
version of) rrdfetch(1).

This has advantages over calling "FLUSH" from within the "client",
especially if the daemon is accessed using a network socket. For one, it
makes it easy to separate collecting and storing of data on one side and
creating graphs on another, possibly more public server. Without this
command this is only possible using networked file systems and similar
techniques.

When talking to an instance of RRDCacheD via a network socket, only
relative pathnames are allowed. If the RRD file is to be accessed
afterwards (why else would one call "FLUSH"?), the client has to be in a
specific directory so the *same* relative path can be used. If the file
is on a share mounted via the network, the required CWD may differ from
the CWD of the server, making developing and deploying solutions using
separated storing and graphing unnecessarily hard.

The data can be accessed using "rrdc_fetch" which should be a drop-in
replacement for "rrd_fetch_r". This makes it easy for programs using the
RRDtool C API to use this new functionality. -- Florian Forster

git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@2059 a5681a0c-68f1-0310-ab6d-d61299d08faa
doc/rrdcached.pod
src/rrd_client.c
src/rrd_client.h
src/rrd_daemon.c