From: Florian Forster Date: Tue, 19 Dec 2023 22:35:00 +0000 (+0100) Subject: value_list: Simplify the control flow when setting metric labels. X-Git-Tag: 6.0.0-rc0~32^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F4197%2Fhead;p=thirdparty%2Fcollectd.git value_list: Simplify the control flow when setting metric labels. --- diff --git a/src/utils/value_list/value_list.c b/src/utils/value_list/value_list.c index a585cbc8a..2ca6692e3 100644 --- a/src/utils/value_list/value_list.c +++ b/src/utils/value_list/value_list.c @@ -420,17 +420,16 @@ plugin_value_list_to_metric_family(value_list_t const *vl, data_set_t const *ds, status = status || metric_label_set(&m, "direction", ds->ds[index].name); } - if (strlen(vl->plugin_instance) != 0) { + bool have_plugin_instance = strlen(vl->plugin_instance) != 0; + bool have_type_instance = strlen(vl->type_instance) != 0; + if (have_plugin_instance && have_type_instance) { status = status || metric_label_set(&m, vl->plugin, vl->plugin_instance); - } - if (strlen(vl->type_instance) != 0) { - char const *name = "type"; - if (strlen(vl->plugin_instance) == 0) { - name = vl->plugin; - } - status = status || metric_label_set(&m, name, vl->type_instance); - } - if (strlen(vl->plugin_instance) == 0 && strlen(vl->type_instance) == 0) { + status = status || metric_label_set(&m, "type", vl->type_instance); + } else if (have_plugin_instance && !have_type_instance) { + status = status || metric_label_set(&m, vl->plugin, vl->plugin_instance); + } else if (!have_plugin_instance && have_type_instance) { + status = status || metric_label_set(&m, vl->plugin, vl->type_instance); + } else if (!have_plugin_instance && !have_type_instance) { status = status || metric_label_set(&m, "plugin", vl->plugin); }