From 215eee3f791833408a5e43c9b5682481bfbdff93 Mon Sep 17 00:00:00 2001 From: Florian Forster Date: Tue, 19 Dec 2023 23:35:00 +0100 Subject: [PATCH] value_list: Simplify the control flow when setting metric labels. --- src/utils/value_list/value_list.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) 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); } -- 2.47.2