X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Futils_latency.h;h=9d878dabcda3ff0d7287f8a3dc332c73b2e3171e;hb=712367f439dcac552dc22a6ce56075f3892ac30b;hp=3e768e2ecf368c85dde9e3b0eefbd438ea2607ec;hpb=9515f607aa5d401e288b26d64e2f90f6ea4dd6fe;p=collectd.git diff --git a/src/utils_latency.h b/src/utils_latency.h index 3e768e2e..9d878dab 100644 --- a/src/utils_latency.h +++ b/src/utils_latency.h @@ -28,24 +28,36 @@ #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; -latency_counter_t *latency_counter_create (void); -void latency_counter_destroy (latency_counter_t *lc); +latency_counter_t *latency_counter_create(void); +void latency_counter_destroy(latency_counter_t *lc); -void latency_counter_add (latency_counter_t *lc, cdtime_t latency); -void latency_counter_reset (latency_counter_t *lc); +void latency_counter_add(latency_counter_t *lc, cdtime_t latency); +void latency_counter_reset(latency_counter_t *lc); -cdtime_t latency_counter_get_min (latency_counter_t *lc); -cdtime_t latency_counter_get_max (latency_counter_t *lc); -cdtime_t latency_counter_get_sum (latency_counter_t *lc); -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); -cdtime_t latency_counter_get_start_time (const latency_counter_t *lc); -double latency_counter_get_rate (const latency_counter_t *lc, - const cdtime_t lower, cdtime_t upper, const cdtime_t now); +cdtime_t latency_counter_get_min(latency_counter_t *lc); +cdtime_t latency_counter_get_max(latency_counter_t *lc); +cdtime_t latency_counter_get_sum(latency_counter_t *lc); +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); -/* vim: set sw=2 sts=2 et : */ +/* + * 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);