]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: Additional fields for osd "bench" command 24041/head
authorКоренберг Марк <mark@ideco.ru>
Sat, 12 May 2018 17:34:45 +0000 (22:34 +0500)
committerNathan Cutler <ncutler@suse.com>
Tue, 11 Sep 2018 20:04:30 +0000 (22:04 +0200)
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 <socketpair@gmail.com>
(cherry picked from commit ffe4b045169b840b6bd3bbdb375eb137c99eaa84)

src/osd/OSD.cc

index dbde8af8a7d080d4bb1f42c3c80afe9727f5efc4..5ff1d6c58e1854c045b3a80ed3c6d183f6751313 100644 (file)
@@ -6094,18 +6094,23 @@ void OSD::do_command(Connection *con, ceph_tid_t tid, vector<string>& 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";
     }
   }