From: Pavel Rochnyack Date: Sat, 7 May 2016 16:09:09 +0000 (+0600) Subject: + utils_latency: Cleaned latency_counter_get_rate() from debugging X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=a8c93068e1b49180836e1a47051624951b441abf;p=collectd.git + utils_latency: Cleaned latency_counter_get_rate() from debugging --- diff --git a/src/utils_latency.c b/src/utils_latency.c index 71707ada..1275f890 100644 --- a/src/utils_latency.c +++ b/src/utils_latency.c @@ -302,8 +302,18 @@ cdtime_t latency_counter_get_start_time (const latency_counter_t *lc) /* {{{ */ return lc->start_time; } /* }}} cdtime_t latency_counter_get_start_time */ +/* + * NAME + * latency_counter_get_rate(counter,lower,upper,now) + * + * DESCRIPTION + * Calculates rate of latency values fall within requested interval. + * Interval specified as [lower,upper] (including boundaries). + * When upper value is equal to 0 then interval is [lower, infinity). + */ + double latency_counter_get_rate (const latency_counter_t *lc, /* {{{ */ - const cdtime_t lower, cdtime_t upper, const cdtime_t now) + cdtime_t lower, cdtime_t upper, const cdtime_t now) { cdtime_t lower_bin; cdtime_t upper_bin; @@ -339,81 +349,19 @@ double latency_counter_get_rate (const latency_counter_t *lc, /* {{{ */ upper = 0; } - ERROR("get_rate (%.3f, %.3f): bin_width = %.3f; " - "lower_bin = %"PRIu64" (%.3f); upper_bin = %"PRIu64" (%.3f);", - CDTIME_T_TO_DOUBLE (lower), - CDTIME_T_TO_DOUBLE (upper), - CDTIME_T_TO_DOUBLE (lc->bin_width), - lower_bin, - CDTIME_T_TO_DOUBLE (lc->bin_width * lower_bin), - upper_bin, - CDTIME_T_TO_DOUBLE (lc->bin_width * upper_bin) - ); - sum = 0; for (i = lower_bin; i <= upper_bin; i++) { - ERROR("SUMM, bin: %d (%.3f), v: %d", i, CDTIME_T_TO_DOUBLE(i * lc->bin_width), lc->histogram[i]); sum += lc->histogram[i]; } - ERROR("sum before interpolations: %.3f", sum); - //v1//p = ((double)lower - (double)(lower_bin + 1) * (double)lc->bin_width) / (double)lc->bin_width; p = ((double)lower - (double)(lower_bin + 0) * (double)lc->bin_width - (double)DOUBLE_TO_CDTIME_T(0.001)) / (double)lc->bin_width; - ERROR("interpolation 1: p=%lf, 1=%"PRIu64" (%.3f), 2=%"PRIu64" (%.3f), 3=%"PRIu64" (%.3f); lower_bin: %"PRIu64"", - p, - //1 - lower - DOUBLE_TO_CDTIME_T(0.001), - CDTIME_T_TO_DOUBLE (lower - (double)DOUBLE_TO_CDTIME_T(0.001)), - //2 - (lower_bin + 0) * lc->bin_width, - CDTIME_T_TO_DOUBLE ((lower_bin + 0) * lc->bin_width), - //3 - lc->bin_width, - CDTIME_T_TO_DOUBLE (lc->bin_width), - lower_bin - ); sum -= p * lc->histogram[lower_bin]; -/* - if (upper && upper_bin == lower_bin) { - //p = ((double)(upper_bin + 1) * (double)lc->bin_width - (double)upper) / (double)lc->bin_width; - p = (double)(upper_bin + 1) - (double)upper / (double)lc->bin_width; - ERROR("interpolation 2: p=%lf, 1=%"PRIu64" (%.3f), 2=%"PRIu64" (%.3f), 3=%.3f (%.3f); upper_bin: %"PRIu64"", - p, - //1 - (upper_bin + 1) * lc->bin_width, - CDTIME_T_TO_DOUBLE ((upper_bin + 1) * lc->bin_width), - //2 - upper, - CDTIME_T_TO_DOUBLE (upper), - //3 - (double)lc->bin_width, - CDTIME_T_TO_DOUBLE (lc->bin_width), - upper_bin - ); - sum -= p * lc->histogram[upper_bin]; - } - else - */ + if (upper && upper < (upper_bin + 1) * lc->bin_width) { // p = ((upper_bin + 1) * bin_width - upper ) / bin_width; - - //p = ((double)upper - (double)(upper_bin + 0) * (double)lc->bin_width) / (double)lc->bin_width; p = ((double)(upper_bin + 1) * (double)lc->bin_width - (double)upper) / (double)lc->bin_width; - ERROR("interpolation 3: p=%lf, 1=%"PRIu64" (%.3f), 2=%"PRIu64" (%.3f), 3=%"PRIu64" (%.3f); upper_bin: %"PRIu64"", - p, - //1 - (upper_bin + 1) * lc->bin_width, - CDTIME_T_TO_DOUBLE ((upper_bin + 1) * lc->bin_width), - //2 - upper, - CDTIME_T_TO_DOUBLE (upper), - //3 - lc->bin_width, - CDTIME_T_TO_DOUBLE (lc->bin_width), - upper_bin - ); sum -= p * lc->histogram[upper_bin]; } return sum / (CDTIME_T_TO_DOUBLE (now - lc->start_time)); diff --git a/src/utils_latency.h b/src/utils_latency.h index 3e768e2e..bb456f51 100644 --- a/src/utils_latency.h +++ b/src/utils_latency.h @@ -46,6 +46,6 @@ 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 lower, cdtime_t upper, const cdtime_t now); /* vim: set sw=2 sts=2 et : */