added metric aliases

This commit is contained in:
Unbit
2013-10-15 15:04:10 +02:00
parent 8184351b3b
commit d8a83ab7cf
2 changed files with 19 additions and 0 deletions
+18
View File
@@ -370,6 +370,9 @@ static void *uwsgi_metrics_loop(void *arg) {
case UWSGI_METRIC_PTR:
*metric->value = *metric->ptr;
break;
// aliases are NOOP
case UWSGI_METRIC_ALIAS:
break;
case UWSGI_METRIC_SUM:
*metric->value = uwsgi_metric_sum(metric);
break;
@@ -557,6 +560,10 @@ void uwsgi_setup_metrics() {
uwsgi_metric_append(total_rss);
uwsgi_metric_append(total_vsz);
// create aliases
uwsgi_register_metric("rss_size", NULL, UWSGI_METRIC_GAUGE, UWSGI_METRIC_ALIAS, total_rss, 0, NULL);
uwsgi_register_metric("vsz_size", NULL, UWSGI_METRIC_GAUGE, UWSGI_METRIC_ALIAS, total_vsz, 0, NULL);
// create custom/user-defined metrics
struct uwsgi_string_list *usl;
uwsgi_foreach(usl, uwsgi.additional_metrics) {
@@ -574,6 +581,17 @@ void uwsgi_setup_metrics() {
metric = metric->next;
}
// remap aliases
metric = uwsgi.metrics;
while(metric) {
if (metric->collect_way == UWSGI_METRIC_ALIAS) {
struct uwsgi_metric *alias = (struct uwsgi_metric *) metric->ptr;
metric->value = alias->value;
metric->oid = alias->oid;
}
metric = metric->next;
}
uwsgi_log("initialized %llu metrics\n", uwsgi.metrics_cnt);
if (uwsgi.metrics_dir) {
+1
View File
@@ -4407,6 +4407,7 @@ enum {
UWSGI_METRIC_FILE,
UWSGI_METRIC_MANUAL,
UWSGI_METRIC_SUM,
UWSGI_METRIC_ALIAS,
};
struct uwsgi_metric_child;