[rrd-developers] [Ganglia-developers] Integrating rrdcachedwith Ganglia
kbrint at rufus.net
Tue Sep 30 20:54:58 CEST 2008
On Tue, Sep 30, 2008 at 08:41:35PM +0200, Tobi Oetiker wrote:
> by looking at the sequence of update times coupled with the target
> file name, the daemon could raise an error as soon as it gets an
> out of sequence update (it could accept the first one but start
> checking from this). I guess this would simplify the debugging and
> shrink the number of user questions we are bound to get in the
> future ...
Agreed.. Here is another idea.
We can keep the RRD header in memory in the cache data structure.
Then as we enqueue updates, we can modify our in-cache copy with the same
code that will ultimately update the files.
PRO: we can use this to implement UPDATEV in daemon (!!)
PRO: we can catch any problems that will be caught when we go to disk
- i.e. wrong DS count
- i.e. time not advancing
CON: extra memory usage?
- I haven't calculated the header size yet
CON: before we can start accepting updates for a file, we have to
rrd_open() and read the header.
CON: the first "CON" makes journal replay at startup O(#RRD) IO's
This is bad for high RRD count, since it delays when we can start
kevin brintnall =~ /kbrint at rufus.net/
More information about the rrd-developers