From 54c05828da413f6b4f9eec800a30624c453a4d90 Mon Sep 17 00:00:00 2001 From: Andreas Herrmann Date: Sat, 24 Jun 2017 00:27:36 +0200 Subject: [PATCH 1/1] stat: Print number of samples in bw and iops stats This adds the actual number of samples for bw and iops stats printed in normal and json fio output. Example for normal output: bw ( MiB/s): min= 120, max= 3304, per=0.10%, avg=2659.34, stdev=1085.25, samples= 109 iops : min=102776, max=830416, avg=675639.05, stdev=280619.99, samples= 21 Note: This example was created using options "--write_bw_log=... --log_avg_msec=100 --runtime=11s" (ie. no iops log written). That is why number of samples differs for IOPs and BW. Signed-off-by: Andreas Herrmann Signed-off-by: Jens Axboe --- stat.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/stat.c b/stat.c index d519ee9e..369f9696 100644 --- a/stat.c +++ b/stat.c @@ -496,12 +496,15 @@ static void show_ddir_status(struct group_run_stats *rs, struct thread_stat *ts, bw_str = (rs->unit_base == 1 ? "Mibit" : "MiB"); } - log_buf(out, " bw (%5s/s): min=%5llu, max=%5llu, per=%3.2f%%, avg=%5.02f, stdev=%5.02f\n", - bw_str, min, max, p_of_agg, mean, dev); + log_buf(out, " bw (%5s/s): min=%5llu, max=%5llu, per=%3.2f%%, " + "avg=%5.02f, stdev=%5.02f, samples=%5lu\n", + bw_str, min, max, p_of_agg, mean, dev, + (&ts->bw_stat[ddir])->samples); } if (calc_lat(&ts->iops_stat[ddir], &min, &max, &mean, &dev)) { log_buf(out, " iops : min=%5llu, max=%5llu, avg=%5.02f, " - "stdev=%5.02f\n", min, max, mean, dev); + "stdev=%5.02f, samples=%5lu\n", + min, max, mean, dev, (&ts->iops_stat[ddir])->samples); } } @@ -1051,6 +1054,8 @@ static void add_ddir_status_json(struct thread_stat *ts, json_object_add_value_float(dir_object, "bw_agg", p_of_agg); json_object_add_value_float(dir_object, "bw_mean", mean); json_object_add_value_float(dir_object, "bw_dev", dev); + json_object_add_value_int(dir_object, "bw_samples", + (&ts->bw_stat[ddir])->samples); if (!calc_lat(&ts->iops_stat[ddir], &min, &max, &mean, &dev)) { min = max = 0; @@ -1060,6 +1065,8 @@ static void add_ddir_status_json(struct thread_stat *ts, json_object_add_value_int(dir_object, "iops_max", max); json_object_add_value_float(dir_object, "iops_mean", mean); json_object_add_value_float(dir_object, "iops_stddev", dev); + json_object_add_value_int(dir_object, "iops_samples", + (&ts->iops_stat[ddir])->samples); } static void show_thread_status_terse_v2(struct thread_stat *ts, -- 2.25.1