Hi Robert!

See: https://lists.oetiker.ch/pipermail/rrd-developers/2006-November/001813.html for the patch.

There is one other patch to this if the library which can help with detecting "wraparounds" when using counter style data-sources:
--- src/rrd_fetch_libdbi.c.1    2007-01-17 19:07:58.000000000 +0000
+++ src/rrd_fetch_libdbi.c      2007-01-17 19:12:14.000000000 +0000
@@ -185,7 +185,7 @@
      return NULL;
    }
    /* now clean result table */
- if (! rrd_fetch_dbi_do_sql(conn,"INSERT INTO tmpVals SELECT t1.grouped,t1.time,(t1.value-t2.value)/(t1.time-t2.time) FROM tmpDerive1 as t1 , tmpDerive2 as t2 WHERE t1.id=t2.id AND t1.time<>t2.time AND t1.value IS NOT NULL AND t2.value IS NOT NULL;",1)) { + if (! rrd_fetch_dbi_do_sql(conn,"INSERT INTO tmpVals SELECT t1.grouped,t1.time,(t1.value-t2.value)/(t1.time-t2.time) FROM tmpDerive1 as t1 , tmpDerive2 as t2 WHERE t1.id=t2.id AND t1.time<>t2.time AND t1.value IS NOT NULL AND t2.value IS NOT NULL AND t1.value-t2.value>-10000000;",1
)) {
rrd_fetch_dbi_do_sql(conn,"DROP TEMPORARY TABLE tmpVals,tmpDerive1,tmpDerive2",1);
      return NULL;
    }

(It is dirty, as hardcoded, and that is why I have not published it up to now... But If you need something like this, then you can use it)

We are currently updating 179135 different data sources every 5 minute to the database, but I have to warn you, that with this many data-sources you have to have a clever database design with migrations etc... to keep the DB efficient over longer periods of times...

Ciao,
         Martin

Robert Halstead wrote:
I while ago I noticed a topic that let rrdtool use a database backend. What is the status with this project? Also, has this turned out to be a viable solution when updating large amounts of rrd files? We're currently exploring other storage media to help our writes become faster. We are currently writing just under 100K rrd files and have distributed writing. We were thinking of modifying rrdtool to use a MySql database and would like to modify the database beackend I saw on the list (if needed) accordingly so that we don't have to re-invent the wheel.

I tried to look through the archives, but was only seeing patches to the library file. Is there a place to get the whole thing at? I couldn't see it in the /lib or /contrib download directories of the main site.

--
"A fool acts, regardless; knowing well that he is wrong. The ignoramus acts on only what he knows, but all that he knows.
The ignoramus may be saved, but the fool knows that he is doomed."

Robert Halstead
------------------------------------------------------------------------

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

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

Reply via email to