bdevperf: reformat bdevperf output

Reformat the output of bdevperf and add header to explain unit of
values. With this change, the output example is:

 Device Information          : runtime(s)     IOPS   MiB/s   Fail/s  TO/s
 Job: NVMe0n1 (Core Mask 0x1)
         NVMe0n1             :      10.00 17444.35   68.14     3.00  0.00
 Job: NVMe0n1 (Core Mask 0x2)
         NVMe0n1             :      10.00 15580.05   60.86     3.00  0.00
 =======================================================
 Total                       :            33024.40  129.00     6.00  0.00

Change-Id: I82490d86a2a41fb4c3cbd8beb02a41ccd1b5d55f
Signed-off-by: Richael Zhuang <richael.zhuang@arm.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14917
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
Richael Zhuang 2022-10-11 17:01:44 +08:00 committed by Tomasz Zawadzki
parent 36dfcca2b4
commit db8083d908

View File

@ -239,14 +239,11 @@ performance_dump_job(struct bdevperf_aggregate_stats *stats, struct bdevperf_job
failed_per_second = (double)job->io_failed * 1000000 / time_in_usec;
timeout_per_second = (double)job->io_timeout * 1000000 / time_in_usec;
printf("\t %-20s: %10.2f IOPS %10.2f MiB/s\n",
job->name, io_per_second, mb_per_second);
if (failed_per_second != 0) {
printf("\t %-20s: %10.2f Fail/s %8.2f TO/s\n",
"", failed_per_second, timeout_per_second);
printf("\t %-20s: %10ld Fail IOs %6ld TO IOs\n",
"", job->io_failed, job->io_timeout);
}
printf("\t %-20s: %10.2f %10.2f %10.2f",
job->name, (float)time_in_usec / 1000000, io_per_second, mb_per_second);
printf(" %10.2f %8.2f\n",
failed_per_second, timeout_per_second);
stats->total_io_per_second += io_per_second;
stats->total_mb_per_second += mb_per_second;
stats->total_failed_per_second += failed_per_second;
@ -392,6 +389,9 @@ bdevperf_test_done(void *ctx)
(double)g_time_in_usec / 1000000);
}
printf("\n\r %-*s: %10s %10s %10s %10s %8s\n",
28, "Device Information", "runtime(s)", "IOPS", "MiB/s", "Fail/s", "TO/s");
TAILQ_FOREACH_SAFE(job, &g_bdevperf.jobs, link, jtmp) {
TAILQ_REMOVE(&g_bdevperf.jobs, job, link);
@ -412,13 +412,11 @@ bdevperf_test_done(void *ctx)
free(job);
}
printf("\r =============================================================\n");
printf("\r %-28s: %10.2f IOPS %10.2f MiB/s\n",
"Total", g_stats.total_io_per_second, g_stats.total_mb_per_second);
if (g_stats.total_failed_per_second != 0 || g_stats.total_timeout_per_second != 0) {
printf("\r %-28s: %10.2f Fail/s %8.2f TO/s\n",
"", g_stats.total_failed_per_second, g_stats.total_timeout_per_second);
}
printf("\r ==================================================================================\n");
printf("\r %-28s: %10s %10.2f %10.2f",
"Total", "", g_stats.total_io_per_second, g_stats.total_mb_per_second);
printf(" %10.2f %8.2f\n",
g_stats.total_failed_per_second, g_stats.total_timeout_per_second);
fflush(stdout);
rc = g_run_rc;
@ -1009,13 +1007,11 @@ _performance_dump_done(void *ctx)
{
struct bdevperf_aggregate_stats *stats = ctx;
printf("\r =====================================================\n");
printf("\r %-20s: %10.2f IOPS %10.2f MiB/s\n",
"Total", stats->total_io_per_second, stats->total_mb_per_second);
if (stats->total_failed_per_second != 0 || stats->total_timeout_per_second != 0) {
printf("\r %-20s: %10.2f Fail/s %8.2f TO/s\n",
"", stats->total_failed_per_second, stats->total_timeout_per_second);
}
printf("\r ==================================================================================\n");
printf("\r %-28s: %10s %10.2f %10.2f",
"Total", "", stats->total_io_per_second, stats->total_mb_per_second);
printf(" %10.2f %8.2f\n",
stats->total_failed_per_second, stats->total_timeout_per_second);
fflush(stdout);
g_performance_dump_active = false;
@ -1086,6 +1082,9 @@ bdevperf_test(void)
/* Start a timer to dump performance numbers */
g_start_tsc = spdk_get_ticks();
if (g_show_performance_real_time && !g_perf_timer) {
printf("\r %-*s: %10s %10s %10s %10s %8s\n",
28, "Device Information", "runtime(s)", "IOPS", "MiB/s", "Fail/s", "TO/s");
g_perf_timer = SPDK_POLLER_REGISTER(performance_statistics_thread, NULL,
g_show_performance_period_in_usec);
}