projects
/
collectd.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
ba0be16
)
statsd plugin: add TimerLower and TimerUpper options
author
Marc Fournier
<marc.fournier@camptocamp.com>
Fri, 26 Jul 2013 13:10:08 +0000
(15:10 +0200)
committer
Marc Fournier
<marc.fournier@camptocamp.com>
Wed, 14 Aug 2013 14:33:37 +0000
(16:33 +0200)
The "lower" and "upper" names were chosen over "min" and "max"
to match the naming scheme used by the node.js implementation.
src/statsd.c
patch
|
blob
|
history
diff --git
a/src/statsd.c
b/src/statsd.c
index
5af3483
..
1045aea
100644
(file)
--- a/
src/statsd.c
+++ b/
src/statsd.c
@@
-79,6
+79,9
@@
static _Bool conf_delete_sets = 0;
static double *conf_timer_percentile = NULL;
static size_t conf_timer_percentile_num = 0;
static double *conf_timer_percentile = NULL;
static size_t conf_timer_percentile_num = 0;
+static _Bool conf_timer_lower = 0;
+static _Bool conf_timer_upper = 0;
+
/* Must hold metrics_lock when calling this function. */
static statsd_metric_t *statsd_metric_lookup_unsafe (char const *name, /* {{{ */
metric_type_t type)
/* Must hold metrics_lock when calling this function. */
static statsd_metric_t *statsd_metric_lookup_unsafe (char const *name, /* {{{ */
metric_type_t type)
@@
-625,6
+628,10
@@
static int statsd_config (oconfig_item_t *ci) /* {{{ */
cf_util_get_boolean (child, &conf_delete_gauges);
else if (strcasecmp ("DeleteSets", child->key) == 0)
cf_util_get_boolean (child, &conf_delete_sets);
cf_util_get_boolean (child, &conf_delete_gauges);
else if (strcasecmp ("DeleteSets", child->key) == 0)
cf_util_get_boolean (child, &conf_delete_sets);
+ else if (strcasecmp ("TimerLower", child->key) == 0)
+ 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 ("TimerPercentile", child->key) == 0)
statsd_config_timer_percentile (child);
else
else if (strcasecmp ("TimerPercentile", child->key) == 0)
statsd_config_timer_percentile (child);
else
@@
-726,6
+733,22
@@
static int statsd_metric_submit_unsafe (char const *name, /* {{{ */
latency_counter_get_average (metric->latency));
plugin_dispatch_values (&vl);
latency_counter_get_average (metric->latency));
plugin_dispatch_values (&vl);
+ if (conf_timer_lower) {
+ ssnprintf (vl.type_instance, sizeof (vl.type_instance),
+ "%s-lower", name);
+ values[0].gauge = CDTIME_T_TO_DOUBLE (
+ latency_counter_get_min (metric->latency));
+ plugin_dispatch_values (&vl);
+ }
+
+ if (conf_timer_upper) {
+ ssnprintf (vl.type_instance, sizeof (vl.type_instance),
+ "%s-upper", name);
+ values[0].gauge = CDTIME_T_TO_DOUBLE (
+ latency_counter_get_max (metric->latency));
+ plugin_dispatch_values (&vl);
+ }
+
for (i = 0; i < conf_timer_percentile_num; i++)
{
ssnprintf (vl.type_instance, sizeof (vl.type_instance),
for (i = 0; i < conf_timer_percentile_num; i++)
{
ssnprintf (vl.type_instance, sizeof (vl.type_instance),