]> granicus.if.org Git - sysstat/commitdiff
Fix PCP issues found by Sebastien during code review
authorNathan Scott <nathans@redhat.com>
Thu, 8 Apr 2021 03:39:44 +0000 (13:39 +1000)
committerNathan Scott <nathans@redhat.com>
Thu, 8 Apr 2021 03:39:56 +0000 (13:39 +1000)
- Resolve duplication of kernel.all.nprocs by switching
  one over to kernel.all.sysfork to match Linux PCP
- Add total physical memory metrics
- Fix units metadata for the kernel.all.nptys metric
- Drop not-yet-used network interface metric defitions
  (speed, baudrate, duplex)
- Correct the spelling of "celsius"
- Resolve confusion with rq_ticks/rd_ticks disk fields

Relates to https://github.com/sysstat/sysstat/pull/287

pcp_def_metrics.c
pcp_stats.c

index ec7a6d3ec825fbe293a132e948a9ea06b5edcc4c..1bd51ec83159625ef52591fd2f9d0576bb826cbe 100644 (file)
@@ -233,9 +233,9 @@ void pcp_def_pcsw_metrics(void)
                     pmiID(60, 0, 13), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
                     pmiUnits(0, 0, 1, 0, 0, PM_COUNT_ONE));
 
-       pmiAddMetric("kernel.all.nprocs",
-                    pmiID(60, 2, 3), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_INSTANT,
-                    pmiUnits(0, 0, 0, 0, 0, 0));
+       pmiAddMetric("kernel.all.sysfork",
+                    pmiID(60, 0, 14), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+                    pmiUnits(0, 0, 1, 0, 0, PM_COUNT_ONE));
 #endif /* HAVE_PCP */
 }
 
@@ -391,6 +391,14 @@ void pcp_def_memory_metrics(struct activity *a)
 #ifdef HAVE_PCP
        if (DISPLAY_MEMORY(a->opt_flags)) {
 
+               pmiAddMetric("hinv.physmem",
+                            pmiID(60, 1, 9), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+                            pmiUnits(1, 0, 0, PM_SPACE_MBYTE, 0, 0));
+
+               pmiAddMetric("mem.physmem",
+                            pmiID(60, 1, 0), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_DISCRETE,
+                            pmiUnits(1, 0, 0, PM_SPACE_KBYTE, 0, 0));
+
                pmiAddMetric("mem.util.free",
                             pmiID(60, 1, 2), PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
                             pmiUnits(1, 0, 0, PM_SPACE_KBYTE, 0, 0));
@@ -490,7 +498,7 @@ void pcp_def_ktables_metrics(void)
 
        pmiAddMetric("kernel.all.nptys",
                     pmiID(60, 72, 3), PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_INSTANT,
-                    pmiUnits(0, 0, 1, 0, 0, PM_COUNT_ONE));
+                    pmiUnits(0, 0, 0, 0, 0, 0));
 #endif /* HAVE_PCP */
 }
 
@@ -657,18 +665,6 @@ void pcp_def_net_dev_metrics(struct activity *a)
                pmiAddMetric("network.interface.in.mcasts",
                             pmiID(60, 3, 7), PM_TYPE_U64, indom, PM_SEM_COUNTER,
                             pmiUnits(0, 0, 1, 0, 0, PM_COUNT_ONE));
-
-               pmiAddMetric("network.interface.speed",
-                            pmiID(60, 3, 22), PM_TYPE_FLOAT, indom, PM_SEM_DISCRETE,
-                            pmiUnits(1, -1, 0, PM_SPACE_MBYTE, PM_TIME_SEC, 0));
-
-               pmiAddMetric("network.interface.baudrate",
-                            pmiID(60, 3, 23), PM_TYPE_U64, indom, PM_SEM_DISCRETE,
-                            pmiUnits(1, -1, 0, PM_SPACE_BYTE, PM_TIME_SEC, 0));
-
-               pmiAddMetric("network.interface.duplex",
-                            pmiID(60, 3, 24), PM_TYPE_U32, indom, PM_SEM_DISCRETE,
-                            pmiUnits(0, 0, 0, 0, 0, 0));
        }
        else {
                /* Create metrics for A_NET_EDEV */
@@ -1544,7 +1540,7 @@ void pcp_def_pwr_temp_metrics(struct activity *a)
                }
        }
 
-       pmiAddMetric("power.temp.celcius",
+       pmiAddMetric("power.temp.celsius",
                     pmiID(34, 1, 0), PM_TYPE_FLOAT, indom, PM_SEM_INSTANT,
                     pmiUnits(0, 0, 0, 0, 0, 0));
 
index 2d84a73119bf81f0d5cb74b1a8a8c027b8f75776..bcc1ed4a8756d0b9dbc18a187c70433938dcb0c2 100644 (file)
@@ -185,7 +185,7 @@ __print_funct_t pcp_print_pcsw_stats(struct activity *a, int curr)
        pmiPutValue("kernel.all.pswitch", NULL, buf);
 
        snprintf(buf, sizeof(buf), "%lu", spc->processes);
-       pmiPutValue("kernel.all.nprocs", NULL, buf);
+       pmiPutValue("kernel.all.sysfork", NULL, buf);
 #endif /* HAVE_PCP */
 }
 
@@ -352,6 +352,12 @@ __print_funct_t pcp_print_memory_stats(struct activity *a, int curr)
 
        if (DISPLAY_MEMORY(a->opt_flags)) {
 
+               snprintf(buf, sizeof(buf), "%lu", (unsigned long)(smc->tlmkb >> 10));
+               pmiPutValue("hinv.physmem", NULL, buf);
+
+               snprintf(buf, sizeof(buf), "%llu", smc->tlmkb);
+               pmiPutValue("mem.physmem", NULL, buf);
+
                snprintf(buf, sizeof(buf), "%llu", smc->frmkb);
                pmiPutValue("mem.util.free", NULL, buf);
 
@@ -526,10 +532,10 @@ __print_funct_t pcp_print_disk_stats(struct activity *a, int curr)
                snprintf(buf, sizeof(buf), "%llu", (unsigned long long) sdc->dc_sect / 2);
                pmiPutValue("disk.dev.discard_bytes", dev_name, buf);
 
-               snprintf(buf, sizeof(buf), "%lu", (unsigned long) sdc->rq_ticks + sdc->wr_ticks);
+               snprintf(buf, sizeof(buf), "%lu", (unsigned long) sdc->rd_ticks + sdc->wr_ticks);
                pmiPutValue("disk.dev.total_rawactive", dev_name, buf);
 
-               snprintf(buf, sizeof(buf), "%lu", (unsigned long) sdc->rq_ticks);
+               snprintf(buf, sizeof(buf), "%lu", (unsigned long) sdc->rd_ticks);
                pmiPutValue("disk.dev.read_rawactive", dev_name, buf);
 
                snprintf(buf, sizeof(buf), "%lu", (unsigned long) sdc->wr_ticks);
@@ -1502,7 +1508,7 @@ __print_funct_t pcp_print_pwr_temp_stats(struct activity *a, int curr)
                sprintf(instance, "temp%d", i + 1);
 
                snprintf(buf, sizeof(buf), "%f", spc->temp);
-               pmiPutValue("power.temp.celcius", instance, buf);
+               pmiPutValue("power.temp.celsius", instance, buf);
 
                snprintf(buf, sizeof(buf), "%f",
                         (spc->temp_max - spc->temp_min) ?