added multiplier and adder collector

This commit is contained in:
Unbit
2013-11-13 19:53:47 +01:00
parent 0abbabbe10
commit d1383d7749
+26
View File
@@ -982,6 +982,30 @@ static int64_t uwsgi_metric_collector_accumulator(struct uwsgi_metric *um) {
return total;
}
static int64_t uwsgi_metric_collector_multiplier(struct uwsgi_metric *um) {
int64_t total = 0;
struct uwsgi_metric_child *umc = um->children;
while(umc) {
struct uwsgi_metric *c = umc->um;
total += *c->value;
umc = umc->next;
}
return total * um->arg1n;
}
static int64_t uwsgi_metric_collector_adder(struct uwsgi_metric *um) {
int64_t total = 0;
struct uwsgi_metric_child *umc = um->children;
while(umc) {
struct uwsgi_metric *c = umc->um;
total += *c->value;
umc = umc->next;
}
return total + um->arg1n;
}
static int64_t uwsgi_metric_collector_avg(struct uwsgi_metric *um) {
int64_t total = 0;
int64_t count = 0;
@@ -1014,6 +1038,8 @@ void uwsgi_metrics_collectors_setup() {
uwsgi_register_metric_collector("file", uwsgi_metric_collector_file);
uwsgi_register_metric_collector("sum", uwsgi_metric_collector_sum);
uwsgi_register_metric_collector("accumulator", uwsgi_metric_collector_accumulator);
uwsgi_register_metric_collector("adder", uwsgi_metric_collector_adder);
uwsgi_register_metric_collector("multiplier", uwsgi_metric_collector_multiplier);
uwsgi_register_metric_collector("avg", uwsgi_metric_collector_avg);
uwsgi_register_metric_collector("func", uwsgi_metric_collector_func);
}