X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=stat.c;h=6ee02d32b88432856a7de556f85059d0732bfb81;hp=091d6fb1dd1e6a66daa7c0c306737fa2f8312e64;hb=e7b24047454305dd61c9b4f9f73628a03c240a9f;hpb=f672ef67527a27eb2bbc59aa6041a42d88a00838 diff --git a/stat.c b/stat.c index 091d6fb1..6ee02d32 100644 --- a/stat.c +++ b/stat.c @@ -832,7 +832,7 @@ static void add_ddir_status_json(struct thread_stat *ts, unsigned int len, minv, maxv; int i; const char *ddirname[] = {"read", "write", "trim"}; - struct json_object *dir_object, *tmp_object, *percentile_object; + struct json_object *dir_object, *tmp_object, *percentile_object, *clat_bins_object; char buf[120]; double p_of_agg = 100.0; @@ -903,6 +903,18 @@ static void add_ddir_status_json(struct thread_stat *ts, json_object_add_value_int(percentile_object, (const char *)buf, ovals[i]); } + if (output_format & FIO_OUTPUT_JSON_PLUS) { + 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]); + } + 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)) { min = max = 0; mean = dev = 0.0;