[rrd-developers] [PATCH] src/rrd_fetch.c: Use "rrdc_fetch" if daemon is available.

Florian Forster rrdtool at nospam.verplant.org
Wed Feb 24 18:42:56 CET 2010


From: Florian Forster <octo at leeloo.lan.home.verplant.org>

Instead of flushing the file via the connection to the daemon and then
accessing it directly, use the "FETCH" command to access the file via
the RRDCacheD. This removes ambiguities with absolute and relative paths
and makes it possible to read data from files that are not available
locally.
---
 src/rrd_fetch.c |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/rrd_fetch.c b/src/rrd_fetch.c
index 45c0e7c..9e384b8 100644
--- a/src/rrd_fetch.c
+++ b/src/rrd_fetch.c
@@ -167,14 +167,17 @@ int rrd_fetch(
         return -1;
     }
 
-    status = rrdc_flush_if_daemon(opt_daemon, argv[optind]);
-    if (opt_daemon) free (opt_daemon);
-    if (status) return (-1);
-
     cf = argv[optind + 1];
 
-    status = rrd_fetch_r(argv[optind], cf, start, end, step,
-            ds_cnt, ds_namv, data);
+    rrdc_connect (opt_daemon);
+    if (rrdc_is_connected (opt_daemon))
+	    status = rrdc_fetch (argv[optind], cf, start, end, step,
+			    ds_cnt, ds_namv, data);
+
+    else
+	    status = rrd_fetch_r(argv[optind], cf, start, end, step,
+			    ds_cnt, ds_namv, data);
+
     if (status != 0)
         return (-1);
     return (0);
-- 
1.5.6.5



More information about the rrd-developers mailing list