[rrd-developers] [Ganglia-developers] Integrating rrdcachedwith Ganglia

kevin brintnall 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
      accepting updates.

 kevin brintnall =~ /kbrint at rufus.net/

More information about the rrd-developers mailing list