[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 ...

Tobi,

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