Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Mar 2017 06:18:27 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r314992 - stable/10/usr.bin/ctlstat
Message-ID:  <201703100618.v2A6IRCE083194@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 */
 		}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201703100618.v2A6IRCE083194>