Author: mav
Date: Fri Mar 10 06:18:27 2017
New Revision: 314992
URL: https://svnweb.freebsd.org/changeset/base/314992

Log:
  MFC r314592: Fix JSON output.

Modified:
  stable/10/usr.bin/ctlstat/ctlstat.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/usr.bin/ctlstat/ctlstat.c
==============================================================================
--- stable/10/usr.bin/ctlstat/ctlstat.c Fri Mar 10 06:17:54 2017        
(r314991)
+++ stable/10/usr.bin/ctlstat/ctlstat.c Fri Mar 10 06:18:27 2017        
(r314992)
@@ -312,8 +312,8 @@ compute_stats(struct ctl_io_stats *cur_s
  * conducive to programming, however.
  */
 
-#define        PRINT_BINTIME(prefix, bt) \
-       printf("%s %jd.%06ju\n", prefix, (intmax_t)(bt).sec, \
+#define        PRINT_BINTIME(bt) \
+       printf("%jd.%06ju", (intmax_t)(bt).sec, \
               (uintmax_t)(((bt).frac >> 32) * 1000000 >> 32))
 static const char *iotypes[] = {"NO IO", "READ", "WRITE"};
 
@@ -335,15 +335,15 @@ ctlstat_dump(struct ctlstat_context *ctx
                            stats[i].operations[iotype]);
                        printf("   dmas %ju\n", (uintmax_t)
                            stats[i].dmas[iotype]);
-                       PRINT_BINTIME("   io time", stats[i].time[iotype]);
-                       PRINT_BINTIME("   dma time", stats[i].dma_time[iotype]);
+                       printf("   io time ");
+                       PRINT_BINTIME(stats[i].time[iotype]);
+                       printf("\n   dma time ");
+                       PRINT_BINTIME(stats[i].dma_time[iotype]);
+                       printf("\n");
                }
        }
 }
 
-#define        JSON_BINTIME(prefix, bt) \
-       printf("\"%s\":%jd.%06ju,", prefix, (intmax_t)(bt).sec, \
-           (uintmax_t)(((bt).frac >> 32) * 1000000 >> 32))
 static void
 ctlstat_json(struct ctlstat_context *ctx) {
        int iotype, i;
@@ -357,14 +357,17 @@ ctlstat_json(struct ctlstat_context *ctx
                    stats[i].item);
                for (iotype = 0; iotype < CTL_STATS_NUM_TYPES; iotype++) {
                        printf("{\"type\":\"%s\",", iotypes[iotype]);
-                       printf("\"bytes\":%ju,", (uintmax_t)stats[
-                              i].bytes[iotype]);
-                       printf("\"operations\":%ju,", (uintmax_t)stats[
-                              i].operations[iotype]);
-                       printf("\"dmas\":%ju}", (uintmax_t)
+                       printf("\"bytes\":%ju,", (uintmax_t)
+                           stats[i].bytes[iotype]);
+                       printf("\"operations\":%ju,", (uintmax_t)
+                           stats[i].operations[iotype]);
+                       printf("\"dmas\":%ju,", (uintmax_t)
                            stats[i].dmas[iotype]);
-                       JSON_BINTIME("io time", stats[i].time[iotype]);
-                       JSON_BINTIME("dma time", stats[i].dma_time[iotype]);
+                       printf("\"io time\":");
+                       PRINT_BINTIME(stats[i].time[iotype]);
+                       printf(",\"dma time\":");
+                       PRINT_BINTIME(stats[i].dma_time[iotype]);
+                       printf("}");
                        if (iotype < (CTL_STATS_NUM_TYPES - 1))
                                printf(","); /* continue io array */
                }
_______________________________________________
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"

Reply via email to