]> granicus.if.org Git - sysstat/commitdiff
Apply "sar -d" changes to sadf
authorSebastien GODARD <sysstat@users.noreply.github.com>
Wed, 7 Jun 2017 09:02:22 +0000 (11:02 +0200)
committerSebastien GODARD <sysstat@users.noreply.github.com>
Wed, 7 Jun 2017 09:02:22 +0000 (11:02 +0200)
Replace "rd_sec/s" and "wr_sec/s" fields  (expressed in sectors) with
"rkB/s" and "wkB/s" (expressed in kilobytes).
Replace "avgrq-sz" field (expressed in sectors) with "areq-sz" (expressed
in kilobytes).

Rename "avgqu-sz" field to "aqu-sz".

Original field names are still present in sadf's XML and JSON output to
keep backward compatibility.

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

index 209e431eaff485242533ce2e3aa6902e2f04fa84..82f4ac8c1a050c2cf9950bc6b38980833f55949e 100644 (file)
@@ -734,18 +734,26 @@ __print_funct_t json_print_disk_stats(struct activity *a, int curr, int tab,
                         "\"tps\": %.2f, "
                         "\"rd_sec\": %.2f, "
                         "\"wr_sec\": %.2f, "
+                        "\"rkB\": %.2f, "
+                        "\"wkB\": %.2f, "
                         "\"avgrq-sz\": %.2f, "
+                        "\"areq-sz\": %.2f, "
                         "\"avgqu-sz\": %.2f, "
+                        "\"aqu-sz\": %.2f, "
                         "\"await\": %.2f, "
                         "\"svctm\": %.2f, "
                         "\"util-percent\": %.2f}",
                         /* Confusion possible here between index and minor numbers */
                         dev_name,
                         S_VALUE(sdp->nr_ios, sdc->nr_ios, itv),
-                        S_VALUE(sdp->rd_sect, sdc->rd_sect, itv),
+                        S_VALUE(sdp->rd_sect, sdc->rd_sect, itv), /* Unit = sectors (for backward compatibility) */
                         S_VALUE(sdp->wr_sect, sdc->wr_sect, itv),
+                        S_VALUE(sdp->rd_sect, sdc->rd_sect, itv) / 2,
+                        S_VALUE(sdp->wr_sect, sdc->wr_sect, itv) / 2,
                         /* See iostat for explanations */
-                        xds.arqsz,
+                        xds.arqsz,     /* Unit = sectors (for backward compatibility) */
+                        xds.arqsz / 2,
+                        S_VALUE(sdp->rq_ticks, sdc->rq_ticks, itv) / 1000.0,   /* For backward compatibility */
                         S_VALUE(sdp->rq_ticks, sdc->rq_ticks, itv) / 1000.0,
                         xds.await,
                         xds.svctm,
index 244c8a5cfe9795afe279ac3a43a8bcbfd810446e..63e59074f1ada4e01c6171a7e2061b7a5f9bfc43 100644 (file)
@@ -567,7 +567,7 @@ __print_funct_t raw_print_disk_stats(struct activity *a, char *timestr, int curr
                pval((unsigned long long) sdp->wr_sect, (unsigned long long) sdc->wr_sect);
                printf(" tot_ticks:");
                pval((unsigned long long) sdp->tot_ticks, (unsigned long long) sdc->tot_ticks);
-               pfield(NULL, 0); /* Skip avgrq-sz */
+               pfield(NULL, 0); /* Skip areq-sz */
                printf(" %s:", pfield(NULL, 0));
                pval((unsigned long long) sdp->rq_ticks, (unsigned long long) sdc->rq_ticks);
                printf("\n");
index 6f4e29a863a73b0bd2c2518c3f25bb80d19a5ab2..e63cf55ee9ddf30dfbb416230db5c01ad31f1876 100644 (file)
@@ -1078,28 +1078,28 @@ __print_funct_t render_disk_stats(struct activity *a, int isdb, char *pre,
                       NULL);
 
                render(isdb, pre, PT_NOFLAG,
-                      "%s\trd_sec/s", NULL,
+                      "%s\trkB/s", NULL,
                       cons(sv, dev_name, NULL),
                       NOVAL,
-                      S_VALUE(sdp->rd_sect, sdc->rd_sect, itv),
+                      S_VALUE(sdp->rd_sect, sdc->rd_sect, itv) / 2,
                       NULL);
 
                render(isdb, pre, PT_NOFLAG,
-                      "%s\twr_sec/s", NULL,
+                      "%s\twkB/s", NULL,
                       cons(sv, dev_name, NULL),
                       NOVAL,
-                      S_VALUE(sdp->wr_sect, sdc->wr_sect, itv),
+                      S_VALUE(sdp->wr_sect, sdc->wr_sect, itv) / 2,
                       NULL);
 
                render(isdb, pre, PT_NOFLAG,
-                      "%s\tavgrq-sz", NULL,
+                      "%s\tareq-sz", NULL,
                       cons(sv, dev_name, NULL),
                       NOVAL,
-                      xds.arqsz,
+                      xds.arqsz / 2,
                       NULL);
 
                render(isdb, pre, PT_NOFLAG,
-                      "%s\tavgqu-sz", NULL,
+                      "%s\taqu-sz", NULL,
                       cons(sv, dev_name, NULL),
                       NOVAL,
                       S_VALUE(sdp->rq_ticks, sdc->rq_ticks, itv) / 1000.0,
index 6982e7351cc0e947a0c797dc5bfb90f9999f4ead..87cf7142dbb61ec8f53cea138ce330f2d55f297a 100644 (file)
@@ -1960,8 +1960,8 @@ __print_funct_t svg_print_disk_stats(struct activity *a, int curr, int action, s
                         "Disk statistics (3)", "Disk statistics (4)",
                         "Disk statistics (5)"};
        char *g_title[] = {"tps",
-                          "rd_sec/s", "wr_sec/s",
-                          "avgrq-sz", "avgqu-sz",
+                          "rkB/s", "wkB/s",
+                          "areq-sz", "aqu-sz",
                           "await", "svctm",
                           "%util"};
        int g_fields[] = {0, 1, 2};
@@ -1969,7 +1969,7 @@ __print_funct_t svg_print_disk_stats(struct activity *a, int curr, int action, s
        static char **out;
        static int *outsize;
        char *item_name, *persist_dev_name;
-       double aqusz;
+       double rkB, wkB, aqusz;
        int i, j, k, pos, restart, *unregistered;
 
        if (action & F_BEGIN) {
@@ -2052,15 +2052,30 @@ __print_funct_t svg_print_disk_stats(struct activity *a, int curr, int action, s
                        }
 
                        /* Check for min/max values */
-                       save_extrema(1, 2, 0, (void *) sdc, (void *) sdp,
+                       save_extrema(1, 0, 0, (void *) sdc, (void *) sdp,
                                     itv, spmin + pos, spmax + pos, g_fields);
 
+                       rkB = S_VALUE(sdp->rd_sect, sdc->rd_sect, itv) / 2;
+                       wkB = S_VALUE(sdp->wr_sect, sdc->wr_sect, itv) / 2;
+                       if (rkB < *(spmin + pos + 1)) {
+                               *(spmin + pos + 1) = rkB;
+                       }
+                       if (rkB > *(spmax + pos + 1)) {
+                               *(spmax + pos + 1) = rkB;
+                       }
+                       if (wkB < *(spmin + pos + 2)) {
+                               *(spmin + pos + 2) = wkB;
+                       }
+                       if (wkB > *(spmax + pos + 2)) {
+                               *(spmax + pos + 2) = wkB;
+                       }
+
                        compute_ext_disk_stats(sdc, sdp, itv, &xds);
-                       if (xds.arqsz < *(spmin + pos + 3)) {
-                               *(spmin + pos + 3) = xds.arqsz;
+                       if ((xds.arqsz / 2) < *(spmin + pos + 3)) {
+                               *(spmin + pos + 3) = xds.arqsz / 2;
                        }
-                       if (xds.arqsz > *(spmax + pos + 3)) {
-                               *(spmax + pos + 3) = xds.arqsz;
+                       if ((xds.arqsz / 2) > *(spmax + pos + 3)) {
+                               *(spmax + pos + 3) = xds.arqsz / 2;
                        }
                        aqusz = S_VALUE(sdp->rq_ticks, sdc->rq_ticks, itv) / 1000.0;
                        if (aqusz < *(spmin + pos + 4)) {
@@ -2092,19 +2107,19 @@ __print_funct_t svg_print_disk_stats(struct activity *a, int curr, int action, s
                        lnappend(record_hdr->ust_time - svg_p->ust_time_ref,
                                 S_VALUE(sdp->nr_ios, sdc->nr_ios, itv),
                                 out + pos, outsize + pos, restart);
-                       /* rd_sec/s */
+                       /* rkB/s */
                        lnappend(record_hdr->ust_time - svg_p->ust_time_ref,
-                                S_VALUE(sdp->rd_sect, sdc->rd_sect, itv),
+                                S_VALUE(sdp->rd_sect, sdc->rd_sect, itv) / 2,
                                 out + pos + 1, outsize + pos + 1, restart);
-                       /* wr_sec/s */
+                       /* wkB/s */
                        lnappend(record_hdr->ust_time - svg_p->ust_time_ref,
-                                S_VALUE(sdp->wr_sect, sdc->wr_sect, itv),
+                                S_VALUE(sdp->wr_sect, sdc->wr_sect, itv) / 2,
                                 out + pos + 2, outsize + pos + 2, restart);
-                       /* avgrq-sz */
+                       /* areq-sz */
                        lnappend(record_hdr->ust_time - svg_p->ust_time_ref,
-                                xds.arqsz,
+                                xds.arqsz / 2,
                                 out + pos + 3, outsize + pos + 3, restart);
-                       /* avgqu-sz */
+                       /* aqu-sz */
                        lnappend(record_hdr->ust_time - svg_p->ust_time_ref,
                                 aqusz,
                                 out + pos + 4, outsize + pos + 4, restart);
index ebc285ccb5c835a4a1e26d48aed98fb3907c9ee6..97fd2586f887aefaaa9c790eb4dce4bf0245995b 100644 (file)
@@ -713,18 +713,26 @@ __print_funct_t xml_print_disk_stats(struct activity *a, int curr, int tab,
                        "tps=\"%.2f\" "
                        "rd_sec=\"%.2f\" "
                        "wr_sec=\"%.2f\" "
+                       "rkB=\"%.2f\" "
+                       "wkB=\"%.2f\" "
                        "avgrq-sz=\"%.2f\" "
+                       "areq-sz=\"%.2f\" "
                        "avgqu-sz=\"%.2f\" "
+                       "aqu-sz=\"%.2f\" "
                        "await=\"%.2f\" "
                        "svctm=\"%.2f\" "
                        "util-percent=\"%.2f\"/>",
                        /* Confusion possible here between index and minor numbers */
                        dev_name,
                        S_VALUE(sdp->nr_ios, sdc->nr_ios, itv),
-                       S_VALUE(sdp->rd_sect, sdc->rd_sect, itv),
+                       S_VALUE(sdp->rd_sect, sdc->rd_sect, itv), /* Unit = sectors (for backward compatibility) */
                        S_VALUE(sdp->wr_sect, sdc->wr_sect, itv),
+                       S_VALUE(sdp->rd_sect, sdc->rd_sect, itv) / 2,
+                       S_VALUE(sdp->wr_sect, sdc->wr_sect, itv) / 2,
                        /* See iostat for explanations */
-                       xds.arqsz,
+                       xds.arqsz,      /* Unit = sectors (for backward compatibility) */
+                       xds.arqsz / 2,
+                       S_VALUE(sdp->rq_ticks, sdc->rq_ticks, itv) / 1000.0,    /* For backward compatibility */
                        S_VALUE(sdp->rq_ticks, sdc->rq_ticks, itv) / 1000.0,
                        xds.await,
                        xds.svctm,