From 99f483afdc15bc5239f67dbd72a3d5847608455b Mon Sep 17 00:00:00 2001 From: =?utf8?q?=D0=9A=D0=BE=D1=80=D0=B5=D0=BD=D0=B1=D0=B5=D1=80=D0=B3=20?= =?utf8?q?=D0=9C=D0=B0=D1=80=D0=BA?= Date: Sat, 12 May 2018 22:34:45 +0500 Subject: [PATCH] osd: Additional fields for osd "bench" command MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 (cherry picked from commit ffe4b045169b840b6bd3bbdb375eb137c99eaa84) --- src/osd/OSD.cc | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index dbde8af8a7d0..5ff1d6c58e18 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -6094,18 +6094,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"; } } -- 2.47.3