Code

fix for #213 restore old behaviour of --lazy. Even in lazy mode all the data
authoroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Tue, 7 Apr 2009 06:37:17 +0000 (06:37 +0000)
committeroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Tue, 7 Apr 2009 06:37:17 +0000 (06:37 +0000)
calculation elements are run. The main time saving comes from the fact that
the graph is not being drawn and the image does not have to be compressed.

git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.3@1773 a5681a0c-68f1-0310-ab6d-d61299d08faa

program/doc/rrdgraph.pod
program/src/rrd_graph.c

index 5090fb98dd6b784e330e9397b3b0bef85e7d7b19..06bf6793e3b81e028a2f8a61e20c5d4c14742711 100644 (file)
@@ -278,8 +278,12 @@ Note that for linear graphs, SI notation is used by default.
 [B<-z>|B<--lazy>]
 
 Only generate the graph if the current graph is out of date or not existent.
-Note, that only the image size will be returned, if you run with lazy even
-when using graphv and even when using PRINT.
+Note, that all the calculations will happen regardless so that the output of
+PRINT and graphv will be complete regardless. Note that the behaviour of
+lazy in this regard has seen several changes over time. The only thing you
+can realy rely on before rrdtool 1.3.7 is that lazy will not generate the
+graph when it is already there and up to date, and also that it will output
+the size of the graph.
 
 
 [B<-f>|B<--imginfo> I<printfstr>]
index 3b352fd552b246df5618b37bcb86c6dd8a5659a9..2ad2cb1d5fa686be09f7d56040e15feab1568683 100644 (file)
@@ -3032,16 +3032,7 @@ int graph_paint(
     graph_desc_t *lastgdes = NULL;
     rrd_infoval_t info;
 
-//    PangoFontMap *font_map = pango_cairo_font_map_get_default();
 
-    /* if we want and can be lazy ... quit now */
-    if (lazy) {
-        info.u_cnt = im->ximg;
-        grinfo_push(im, sprintf_alloc("image_width"), RD_I_CNT, info);
-        info.u_cnt = im->yimg;
-        grinfo_push(im, sprintf_alloc("image_height"), RD_I_CNT, info);
-        return 0;
-    }
     /* pull the data from the rrd files ... */
     if (data_fetch(im) == -1)
         return -1;
@@ -3057,7 +3048,7 @@ int graph_paint(
     if (i < 0)
         return -1;
 
-    if ((i == 0) || lazy)
+    if ((i == 0))
         return 0;
 
 /**************************************************************
@@ -3084,6 +3075,11 @@ int graph_paint(
     info.u_cnt = im->end;
     grinfo_push(im, sprintf_alloc("graph_end"), RD_I_CNT, info);
 
+    /* if we want and can be lazy ... quit now */
+    if (lazy){
+        return 0
+    };
+
     /* get actual drawing data and find min and max values */
     if (data_proc(im) == -1)
         return -1;