From: oetiker Date: Wed, 9 May 2001 05:31:01 +0000 (+0000) Subject: Bug fix: when update of multiple PDP/CDP RRAs coincided X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=fe1446ab847606ca7961d084d28a5f0f74f1db7b;p=rrdtool-all.git Bug fix: when update of multiple PDP/CDP RRAs coincided with interpolation of multiple PDPs an incorrect value was stored as the CDP. Especially evident for GAUGE data sources. Minor changes to rrdcreate.pod. -- Jake Brutlag git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk@36 a5681a0c-68f1-0310-ab6d-d61299d08faa --- diff --git a/program/NEWS b/program/NEWS index febb6184..19fed3eb 100644 --- a/program/NEWS +++ b/program/NEWS @@ -5,6 +5,7 @@ RRDTOOL NEWS In this file I am noting the Major changes to rrdtool for details check the cvs ChangeLog + 2001/03/10 Jake Brutlag Support for COMPUTE data sources (CDEF data sources). Removes the RPN parser and calculator from rrd_graph and puts then in a new file, diff --git a/program/doc/rrdcreate.pod b/program/doc/rrdcreate.pod index 74cfa345..b43f70af 100644 --- a/program/doc/rrdcreate.pod +++ b/program/doc/rrdcreate.pod @@ -161,7 +161,8 @@ in the create command. This is similar to the restriction that Bs must refer only to Bs and Bs previously defined in the same graph command. =item BIB<:>I - + + The purpose of an B is to store data in the round robin archives (B). An archive consists of a number of data values or statistics for each of the defined data-sources (B) and is defined with an B line. @@ -187,7 +188,7 @@ I defines how many generations of data values are kept in an B. =back -=head1 Aberrant Behaviour detection with Holt-Winters forecasting +=head1 Aberrant Behavior Detection with Holt-Winters Forecasting by Jake Brutlag Ejakeb@corp.webtv.netE diff --git a/program/src/rrd_update.c b/program/src/rrd_update.c index 35ac6a6e..b6ac868d 100644 --- a/program/src/rrd_update.c +++ b/program/src/rrd_update.c @@ -5,6 +5,12 @@ ***************************************************************************** * $Id$ * $Log$ + * Revision 1.5 2001/05/09 05:31:01 oetiker + * Bug fix: when update of multiple PDP/CDP RRAs coincided + * with interpolation of multiple PDPs an incorrect value was + * stored as the CDP. Especially evident for GAUGE data sources. + * Minor changes to rrdcreate.pod. -- Jake Brutlag + * * Revision 1.4 2001/03/10 23:54:41 oetiker * Support for COMPUTE data sources (CDEF data sources). Removes the RPN * parser and calculator from rrd_graph and puts then in a new file, @@ -426,7 +432,7 @@ rrd_update(int argc, char **argv) rrd.ds_def[i].par[DS_mrhb_cnt].u_cnt >= interval) { double rate = DNAN; /* the data source type defines how to process the data */ - /* pdp_temp contains rate * time ... eg the bytes + /* pdp_new contains rate * time ... eg the bytes * transferred during the interval. Doing it this way saves * a lot of math operations */ @@ -760,7 +766,7 @@ rrd_update(int argc, char **argv) cum_val = IFDNAN(rrd.cdp_prep[iii].scratch[CDP_val].u_val, 0.0); cur_val = IFDNAN(pdp_temp[ii],0.0); rrd.cdp_prep[iii].scratch[CDP_primary_val].u_val = - (cum_val + cur_val) / + (cum_val + cur_val * start_pdp_offset) / (rrd.rra_def[i].pdp_cnt -rrd.cdp_prep[iii].scratch[CDP_unkn_pdp_cnt].u_cnt); /* initialize carry over value */