X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fstatsd.c;h=731a6e8c4e8548e37c3f8798c536580a5d63e145;hb=9c7fee6fa1c83bd76b39d16fe5376cfb6ef192e4;hp=1045aeaa8474ee78605f7878c9abe40b220f64b1;hpb=1b750eb50cb50e62338e380217191a71d92088d4;p=collectd.git diff --git a/src/statsd.c b/src/statsd.c index 1045aeaa..731a6e8c 100644 --- a/src/statsd.c +++ b/src/statsd.c @@ -81,6 +81,7 @@ static size_t conf_timer_percentile_num = 0; static _Bool conf_timer_lower = 0; static _Bool conf_timer_upper = 0; +static _Bool conf_timer_sum = 0; /* Must hold metrics_lock when calling this function. */ static statsd_metric_t *statsd_metric_lookup_unsafe (char const *name, /* {{{ */ @@ -632,6 +633,8 @@ static int statsd_config (oconfig_item_t *ci) /* {{{ */ cf_util_get_boolean (child, &conf_timer_lower); else if (strcasecmp ("TimerUpper", child->key) == 0) cf_util_get_boolean (child, &conf_timer_upper); + else if (strcasecmp ("TimerSum", child->key) == 0) + cf_util_get_boolean (child, &conf_timer_sum); else if (strcasecmp ("TimerPercentile", child->key) == 0) statsd_config_timer_percentile (child); else @@ -749,6 +752,14 @@ static int statsd_metric_submit_unsafe (char const *name, /* {{{ */ plugin_dispatch_values (&vl); } + if (conf_timer_sum) { + ssnprintf (vl.type_instance, sizeof (vl.type_instance), + "%s-sum", name); + values[0].gauge = CDTIME_T_TO_DOUBLE ( + latency_counter_get_sum (metric->latency)); + plugin_dispatch_values (&vl); + } + for (i = 0; i < conf_timer_percentile_num; i++) { ssnprintf (vl.type_instance, sizeof (vl.type_instance),