X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=src%2Frrd_hw.h;h=2d2112d35730caf562fb0b0cf814ac982dd6f0a1;hp=2f44920afe379acdeee3fd973e0e621cf5113155;hb=d4110e29da41ce702bcc3327e86768c6f266915e;hpb=0f399ee8cbe875b2831ea2870e60ee17800d811d diff --git a/src/rrd_hw.h b/src/rrd_hw.h index 2f44920..2d2112d 100644 --- a/src/rrd_hw.h +++ b/src/rrd_hw.h @@ -1,33 +1,65 @@ /***************************************************************************** - * RRDtool 1.2rc2 Copyright by Tobi Oetiker, 1997-2005 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_hw.h : Support for Holt-Winters Smoothing/ Aberrant Behavior Detection *****************************************************************************/ /* functions implemented in rrd_hw.c */ -int update_aberrant_CF(rrd_t *rrd, rrd_value_t pdp_val, enum cf_en current_cf, - unsigned long cdp_idx, unsigned long rra_idx, unsigned long ds_idx, - unsigned short CDP_scratch_idx, rrd_value_t *seasonal_coef); -int create_hw_contingent_rras(rrd_t *rrd, unsigned short period, - unsigned long hashed_name); -int lookup_seasonal(rrd_t *rrd, unsigned long rra_idx, unsigned long rra_start, - FILE *rrd_file, unsigned long offset, rrd_value_t **seasonal_coef); -void erase_violations(rrd_t *rrd, unsigned long cdp_idx, unsigned long rra_idx); -int apply_smoother(rrd_t *rrd, unsigned long rra_idx, unsigned long rra_start, - FILE *rrd_file); -void reset_aberrant_coefficients(rrd_t *rrd, FILE *rrd_file, unsigned long ds_idx); -void init_hwpredict_cdp(cdp_prep_t *); -void init_seasonal_cdp(cdp_prep_t *); +int update_aberrant_CF( + rrd_t *rrd, + rrd_value_t pdp_val, + enum cf_en current_cf, + unsigned long cdp_idx, + unsigned long rra_idx, + unsigned long ds_idx, + unsigned short CDP_scratch_idx, + rrd_value_t *seasonal_coef); +int create_hw_contingent_rras( + rrd_t *rrd, + unsigned short period, + unsigned long hashed_name); +int lookup_seasonal( + rrd_t *rrd, + unsigned long rra_idx, + unsigned long rra_start, + rrd_file_t *rrd_file, + unsigned long offset, + rrd_value_t **seasonal_coef); +void erase_violations( + rrd_t *rrd, + unsigned long cdp_idx, + unsigned long rra_idx); +int apply_smoother( + rrd_t *rrd, + unsigned long rra_idx, + unsigned long rra_start, + rrd_file_t *rrd_file); +void reset_aberrant_coefficients( + rrd_t *rrd, + rrd_file_t *rrd_file, + unsigned long ds_idx); +void init_hwpredict_cdp( + cdp_prep_t *); +void init_seasonal_cdp( + cdp_prep_t *); + #define BURNIN_CYCLES 3 /* a standard fixed-capacity FIFO queue implementation */ typedef struct FIFOqueue { - rrd_value_t *queue; - int capacity, head, tail; + rrd_value_t *queue; + int capacity, head, tail; } FIFOqueue; -int queue_alloc(FIFOqueue **q,int capacity); -void queue_dealloc(FIFOqueue *q); -void queue_push(FIFOqueue *q, rrd_value_t value); -int queue_isempty(FIFOqueue *q); -rrd_value_t queue_pop(FIFOqueue *q); +int queue_alloc( + FIFOqueue **q, + int capacity); +void queue_dealloc( + FIFOqueue *q); +void queue_push( + FIFOqueue *q, + rrd_value_t value); +int queue_isempty( + FIFOqueue *q); +rrd_value_t queue_pop( + FIFOqueue *q);