X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=src%2Frrd_hw.c;h=6f2c50732051c5c16dfbb8644904b968e8c40956;hp=98333e2794e356dcff31bf3d882006b3988c14db;hb=aff0a2728543eee1ac21f3fa02f171caae8d9362;hpb=7383625ce0413ce5dbcc0ced4ee4873c6df37735 diff --git a/src/rrd_hw.c b/src/rrd_hw.c index 98333e2..6f2c507 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.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * 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" @@ -139,7 +141,14 @@ int apply_smoother( rrd_value_t *working_average; rrd_value_t *baseline; - offset = floor(0.025 * row_count); + if (atoi(rrd->stat_head->version) >= 4) { + offset = floor(rrd->rra_def[rra_idx]. + par[RRA_seasonal_smoothing_window]. + u_val / 2 * row_count); + } else { + offset = floor(0.05 / 2 * row_count); + } + if (offset == 0) return 0; /* no smoothing */ @@ -415,7 +424,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 = { @@ -426,7 +435,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;