mirror of
https://github.com/clearlinux/uwsgi.git
synced 2026-09-06 13:41:28 +00:00
added multiplier and adder collector
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user