]> git.ipfire.org Git - thirdparty/collectd.git/commitdiff
cpu plugin: Skip states that don't have any data.
authorFlorian Forster <octo@collectd.org>
Tue, 9 Jan 2024 12:07:08 +0000 (13:07 +0100)
committerFlorian Forster <octo@collectd.org>
Mon, 22 Jan 2024 15:07:57 +0000 (16:07 +0100)
src/cpu.c

index 23ef10ca5926d3cd2fe5153d2d7b1070d22835fa..4e98481e17534628a68c6c8c9dd8a7dcb2b20ee4 100644 (file)
--- a/src/cpu.c
+++ b/src/cpu.c
@@ -630,6 +630,9 @@ static void commit_cpu_usage(usage_t *u, size_t cpu_num) {
   if (report_by_state) {
     for (state_t state = 0; state < STATE_ACTIVE; state++) {
       derive_t usage = usage_count(u, cpu_num, state);
+      if (usage == -1) {
+        continue;
+      }
       metric_family_append(&fam, label_state, cpu_state_names[state],
                            (value_t){.derive = usage}, &m);
     }
@@ -689,6 +692,9 @@ static void commit_cpu_utilization(usage_t *u, size_t cpu_num) {
   } else {
     for (state_t state = 0; state < STATE_ACTIVE; state++) {
       gauge_t ratio = usage_ratio(u, cpu_num, state);
+      if (isnan(ratio)) {
+        continue;
+      }
       metric_family_append(&fam, label_state, cpu_state_names[state],
                            (value_t){.gauge = ratio}, &m);
     }