Reading the comments, and the edit to src/rrd_graph.c

   968 +        // remember that we already got this one
   969 +        
g_hash_table_insert(im->rrd_map,gdes_fetch_key(im->gdes[i]),GINT_TO_POINTER(i));

I have noted when I tried to build a custom backend using rrdcached protocol 
that when drawing a graph it appeared to a little inefficient.

For example
  If I had a RRD with DS(s) of inOct, outOct, inErrs, outErrs and then used 
'graph' to generate a single graph with all those DS's from the same RRD I 
would see 4 FETCH operations via rrdcached.

Since the fetch does not specify the DS required, all the datasources in the 
RRD need to be returned.   This probably isn't a problem for simple RRD files, 
but for example if you have 12 metrics, and each metric has a 'cost' to 'get', 
and you only really need two for your graph, you need to fetch them all anyway 
(or in my example, you need to fetch them all, then remangle them into the 
appropriate structures, then return them ..)

My question is -- does this change to the rrd_graph data_fetch() mean that I 
will not see multiple fetch operations ?

(I guess I should just go and test it ...)

:)

_______________________________________________
rrd-developers mailing list
rrd-developers@lists.oetiker.ch
https://lists.oetiker.ch/cgi-bin/listinfo/rrd-developers

Reply via email to