X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Futils_latency.h;h=85493e1a7455984441d2adcc21585a9983756160;hb=facbb03bdd0c591344b1a81dd0437064cfcc24e5;hp=7c339c6068e814f90800cd9adc2c294e2f30febf;hpb=79963d13c1884d1d92667cc502ad20758b084a12;p=collectd.git diff --git a/src/utils_latency.h b/src/utils_latency.h index 7c339c60..85493e1a 100644 --- a/src/utils_latency.h +++ b/src/utils_latency.h @@ -28,6 +28,10 @@ #include "utils_time.h" +#ifndef HISTOGRAM_NUM_BINS +#define HISTOGRAM_NUM_BINS 1000 +#endif + struct latency_counter_s; typedef struct latency_counter_s latency_counter_t; @@ -44,4 +48,18 @@ size_t latency_counter_get_num(latency_counter_t *lc); cdtime_t latency_counter_get_average(latency_counter_t *lc); cdtime_t latency_counter_get_percentile(latency_counter_t *lc, double percent); +/* + * NAME + * latency_counter_get_rate(counter,lower,upper,now) + * + * DESCRIPTION + * Calculates rate of latency values fall within requested interval. + * Interval specified as (lower,upper], i.e. the lower boundary is exclusive, + * the upper boundary is inclusive. + * When lower is zero, then the interval is (0, upper]. + * When upper is zero, then the interval is (lower, infinity). + */ +double latency_counter_get_rate(const latency_counter_t *lc, cdtime_t lower, + cdtime_t upper, const cdtime_t now); + /* vim: set sw=2 sts=2 et : */