From: Коренберг Марк Date: Sat, 12 May 2018 17:34:45 +0000 (+0500) Subject: osd: Additional fields for osd "bench" command X-Git-Tag: v14.0.1~917^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ffe4b045169b840b6bd3bbdb375eb137c99eaa84;p=ceph-ci.git osd: Additional fields for osd "bench" command This patch adds new fields for output of "bench" OSD command: * elapsed_sec (elapsed time of benchmarking process) * iops (writes per second) And also, it improves precision for bytes_per_sec field. Signed-off-by: Коренберг Маркr --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 677ae4b1d42..1d69ee4f3fe 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -6117,18 +6117,23 @@ void OSD::do_command(Connection *con, ceph_tid_t tid, vector& cmd, buffe } } - uint64_t rate = (double)count / (end - start); + double elapsed = end - start; + double rate = count / elapsed; + double iops = rate / bsize; if (f) { f->open_object_section("osd_bench_results"); f->dump_int("bytes_written", count); f->dump_int("blocksize", bsize); - f->dump_unsigned("bytes_per_sec", rate); + f->dump_float("elapsed_sec", elapsed); + f->dump_float("bytes_per_sec", rate); + f->dump_float("iops", iops); f->close_section(); f->flush(ds); } else { ds << "bench: wrote " << byte_u_t(count) << " in blocks of " << byte_u_t(bsize) << " in " - << (end-start) << " sec at " << byte_u_t(rate) << "/sec"; + << elapsed << " sec at " << byte_u_t(rate) << "/sec " + << si_u_t(iops) << " IOPS"; } }