]> granicus.if.org Git - sysstat/commitdiff
sadf: PCP: Fix CPU metrics definition
authorSebastien GODARD <sysstat@users.noreply.github.com>
Sat, 6 Apr 2019 08:04:36 +0000 (10:04 +0200)
committerSebastien GODARD <sysstat@users.noreply.github.com>
Sat, 6 Apr 2019 08:04:36 +0000 (10:04 +0200)
CPU#1 is not necessarily selected by the user when PCP archive is
created. So don't use it to define per-cpu metrics.

Signed-off-by: Sebastien GODARD <sysstat@users.noreply.github.com>
pcp_def_metrics.c

index 3959f3750f09194d477d2ae9e9852c688e65fcf9..04a0e3619785fb568908d0ad5e1f82c272a571e7 100644 (file)
@@ -40,7 +40,7 @@
 void pcp_def_cpu_metrics(struct activity *a)
 {
 #ifdef HAVE_PCP
-       int i;
+       int i, first = TRUE;
        char buf[64];
        pmInDom indom;
 
@@ -98,7 +98,7 @@ void pcp_def_cpu_metrics(struct activity *a)
                                     pmiUnits(0, 0, 0, 0, 0, 0));
                }
                else {
-                       if (i == 1) {
+                       if (first) {
                                indom = pmInDom_build(0, PM_INDOM_CPU);
 
                                pmiAddMetric("kernel.percpu.cpu.user",
@@ -140,6 +140,7 @@ void pcp_def_cpu_metrics(struct activity *a)
                                pmiAddMetric("kernel.percpu.cpu.guest_nice",
                                             PM_IN_NULL, PM_TYPE_FLOAT, indom, PM_SEM_INSTANT,
                                             pmiUnits(0, 0, 0, 0, 0, 0));
+                               first = FALSE;
                        }
                        sprintf(buf, "cpu%d", i - 1);
                        pmiAddInstance(indom, buf, i - 1);