stat: change json+ output format so that instead of printing the raw clat data struct...
authorVincent Fu <Vincent.Fu@sandisk.com>
Sun, 16 Apr 2017 19:04:23 +0000 (15:04 -0400)
committerJens Axboe <axboe@fb.com>
Wed, 3 May 2017 14:49:37 +0000 (08:49 -0600)
Signed-off-by: Jens Axboe <axboe@fb.com>
stat.c

diff --git a/stat.c b/stat.c
index f3b82cfbe86add3727b254301f204a348dcee166..8770ae28920e5a484cc04ec12579e8b54a777ec5 100644 (file)
--- a/stat.c
+++ b/stat.c
@@ -98,7 +98,7 @@ static unsigned int plat_val_to_idx(unsigned int val)
  * Convert the given index of the bucket array to the value
  * represented by the bucket
  */
  * Convert the given index of the bucket array to the value
  * represented by the bucket
  */
-static unsigned int plat_idx_to_val(unsigned int idx)
+static unsigned long long plat_idx_to_val(unsigned int idx)
 {
        unsigned int error_bits, k, base;
 
 {
        unsigned int error_bits, k, base;
 
@@ -972,12 +972,11 @@ static void add_ddir_status_json(struct thread_stat *ts,
                clat_bins_object = json_create_object();
                json_object_add_value_object(tmp_object, "bins", clat_bins_object);
                for(i = 0; i < FIO_IO_U_PLAT_NR; i++) {
                clat_bins_object = json_create_object();
                json_object_add_value_object(tmp_object, "bins", clat_bins_object);
                for(i = 0; i < FIO_IO_U_PLAT_NR; i++) {
-                       snprintf(buf, sizeof(buf), "%d", i);
-                       json_object_add_value_int(clat_bins_object, (const char *)buf, ts->io_u_plat[ddir][i]);
+                       if (ts->io_u_plat[ddir][i]) {
+                               snprintf(buf, sizeof(buf), "%llu", plat_idx_to_val(i));
+                               json_object_add_value_int(clat_bins_object, (const char *)buf, ts->io_u_plat[ddir][i]);
+                       }
                }
                }
-               json_object_add_value_int(clat_bins_object, "FIO_IO_U_PLAT_BITS", FIO_IO_U_PLAT_BITS);
-               json_object_add_value_int(clat_bins_object, "FIO_IO_U_PLAT_VAL", FIO_IO_U_PLAT_VAL);
-               json_object_add_value_int(clat_bins_object, "FIO_IO_U_PLAT_NR", FIO_IO_U_PLAT_NR);
        }
 
        if (!calc_lat(&ts->lat_stat[ddir], &min, &max, &mean, &dev)) {
        }
 
        if (!calc_lat(&ts->lat_stat[ddir], &min, &max, &mean, &dev)) {