X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=src%2Frrd_hw.c;h=90dec9c816a778b96af632470971cd8b8f70577d;hp=e8024121739966fd6e56e3136083b2a83e6d9431;hb=ce30e9e1379022835687aa08b7712e27372e05ec;hpb=1b8f812fbf8d14bad0fcf9749ac71f640bda2868 diff --git a/src/rrd_hw.c b/src/rrd_hw.c index e802412..90dec9c 100644 --- a/src/rrd_hw.c +++ b/src/rrd_hw.c @@ -1,11 +1,13 @@ /***************************************************************************** - * RRDtool 1.2.99907080300 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.4.1 Copyright by Tobi Oetiker, 1997-2009 ***************************************************************************** * rrd_hw.c : Support for Holt-Winters Smoothing/ Aberrant Behavior Detection ***************************************************************************** * Initial version by Jake Brutlag, WebTV Networks, 5/1/00 *****************************************************************************/ +#include + #include "rrd_tool.h" #include "rrd_hw.h" #include "rrd_hw_math.h" @@ -141,8 +143,8 @@ int apply_smoother( if (atoi(rrd->stat_head->version) >= 4) { offset = floor(rrd->rra_def[rra_idx]. - par[RRA_seasonal_smoothing_window]. - u_val / 2 * row_count); + par[RRA_seasonal_smoothing_window]. + u_val / 2 * row_count); } else { offset = floor(0.05 / 2 * row_count); } @@ -164,7 +166,7 @@ int apply_smoother( free(rrd_values); return -1; } - rrd_flush(rrd_file); + /* could read all data in a single block, but we need to * check for NA values */ for (i = 0; i < row_count; ++i) { @@ -268,7 +270,6 @@ int apply_smoother( baseline[j]; } /* flush cdp to disk */ - rrd_flush(rrd_file); if (rrd_seek(rrd_file, sizeof(stat_head_t) + rrd->stat_head->ds_cnt * sizeof(ds_def_t) + rrd->stat_head->rra_cnt * sizeof(rra_def_t) + @@ -291,7 +292,6 @@ int apply_smoother( /* endif CF_SEASONAL */ /* flush updated values to disk */ - rrd_flush(rrd_file); if (rrd_seek(rrd_file, rra_start, SEEK_SET)) { rrd_set_error("apply_smoother: seek to pos %d failed", rra_start); free(rrd_values); @@ -306,7 +306,6 @@ int apply_smoother( return -1; } - rrd_flush(rrd_file); free(rrd_values); free(baseline); return 0; @@ -422,7 +421,7 @@ int update_aberrant_CF( hw_multiplicative_init_seasonality, hw_calculate_seasonal_deviation, hw_init_seasonal_deviation, - 1.0 // identity value + 1.0 /* identity value */ }; static hw_functions_t hw_additive_functions = { @@ -433,7 +432,7 @@ int update_aberrant_CF( hw_additive_init_seasonality, hw_calculate_seasonal_deviation, hw_init_seasonal_deviation, - 0.0 // identity value + 0.0 /* identity value */ }; rrd->cdp_prep[cdp_idx].scratch[CDP_scratch_idx].u_val = pdp_val;