]> granicus.if.org Git - sysstat/commitdiff
sadf: Take into account new huge pages metrics
authorSebastien GODARD <sysstat@users.noreply.github.com>
Mon, 27 Aug 2018 08:24:16 +0000 (10:24 +0200)
committerSebastien GODARD <sysstat@users.noreply.github.com>
Mon, 27 Aug 2018 08:24:16 +0000 (10:24 +0200)
Update various sadf formats (JSON, XML, raw, etc.) to take into account
new HugePages_Rsvd and HugePages_Surp metrics.
SVG output format will be updated later.

Signed-off-by: Sebastien GODARD <sysstat@users.noreply.github.com>
json_stats.c
raw_stats.c
rndr_stats.c
xml_stats.c

index b056b486e5e76910d0cfe8c94d3d9f20531c18ca..b7ee3876862fe2823c8e3a672e55a34287709c5f 100644 (file)
@@ -2000,12 +2000,15 @@ __print_funct_t json_print_huge_stats(struct activity *a, int curr, int tab,
        xprintf0(tab, "\"hugepages\": {"
                 "\"hugfree\": %llu, "
                 "\"hugused\": %llu, "
-                "\"hugused-percent\": %.2f}",
+                "\"hugused-percent\": %.2f, "
+                "\"hugrsvd\": %llu, "
+                "\"hugsurp\": %llu}",
                 smc->frhkb,
                 smc->tlhkb - smc->frhkb,
                 smc->tlhkb ?
-                SP_VALUE(smc->frhkb, smc->tlhkb, smc->tlhkb) :
-                0.0);
+                SP_VALUE(smc->frhkb, smc->tlhkb, smc->tlhkb) : 0.0,
+                smc->rsvdhkb,
+                smc->surphkb);
 }
 
 /*
index 6a9e0b22c8ef560b3d8ae70b41cc7ef910e0413d..d086d83a3ddc0cd293a412cd949d5f0a6a18ca3e 100644 (file)
@@ -1392,7 +1392,11 @@ __print_funct_t raw_print_huge_stats(struct activity *a, char *timestr, int curr
                *smc = (struct stats_huge *) a->buf[curr];
 
        printf("%s; %s; %llu;", timestr, pfield(a->hdr_line, FIRST), smc->frhkb);
-       printf(" hugtotal; %llu;\n", smc->tlhkb);
+       printf(" hugtotal; %llu;", smc->tlhkb);
+       pfield(NULL, 0); /* Skip kbhugused */
+       pfield(NULL, 0); /* Skip %hugused */
+       printf(" %s; %llu;", pfield(NULL, 0), smc->rsvdhkb);
+       printf(" %s; %llu;\n", pfield(NULL, 0), smc->surphkb);
 }
 
 /*
index b6889fefbc8fc6c4339a7dc0873a426f820c135d..7b180767da7e36429ad4f47f022d8a98a87ebb07 100644 (file)
@@ -2730,11 +2730,19 @@ __print_funct_t render_huge_stats(struct activity *a, int isdb, char *pre,
               "-\tkbhugused", NULL, NULL,
               smc->tlhkb - smc->frhkb, DNOVAL, NULL);
 
-       render(isdb, pre, pt_newlin,
+       render(isdb, pre, PT_NOFLAG,
               "-\t%hugused", NULL, NULL, NOVAL,
               smc->tlhkb ?
               SP_VALUE(smc->frhkb, smc->tlhkb, smc->tlhkb) :
               0.0, NULL);
+
+       render(isdb, pre, PT_USEINT,
+              "-\tkbhugrsvd", NULL, NULL,
+              smc->rsvdhkb, DNOVAL, NULL);
+
+       render(isdb, pre, PT_USEINT | pt_newlin,
+              "-\tkbhugsurp", NULL, NULL,
+              smc->surphkb, DNOVAL, NULL);
 }
 
 /*
index 2198ba7dde68c87a281f3317a8c7ed7170d63865..a6d342df598eb33cbca7b72997888b2d388babaa 100644 (file)
@@ -1924,11 +1924,17 @@ __print_funct_t xml_print_huge_stats(struct activity *a, int curr, int tab,
        xprintf(tab, "<hugused>%llu</hugused>",
                smc->tlhkb - smc->frhkb);
 
-       xprintf(tab--, "<hugused-percent>%.2f</hugused-percent>",
+       xprintf(tab, "<hugused-percent>%.2f</hugused-percent>",
                smc->tlhkb ?
                SP_VALUE(smc->frhkb, smc->tlhkb, smc->tlhkb) :
                0.0);
 
+       xprintf(tab, "<hugrsvd>%llu</hugrsvd>",
+               smc->rsvdhkb);
+
+       xprintf(tab--, "<hugsurp>%llu</hugsurp>",
+               smc->surphkb);
+
        xprintf(tab, "</hugepages>");
 }