]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rbd/bench: outputs bytes/s format dynamically 31491/head
authorzhengyin <zhengyin@cmss.chinamobile.com>
Fri, 8 Nov 2019 16:51:27 +0000 (00:51 +0800)
committerzhengyin <zhengyin@cmss.chinamobile.com>
Sun, 10 Nov 2019 06:25:26 +0000 (14:25 +0800)
Fixes: https://tracker.ceph.com/issues/40256
Signed-off-by: Zheng Yin <zhengyin@cmss.chinamobile.com>
src/tools/rbd/action/Bench.cc

index 2c2fa5836fe88818610c932ab7846f356cb638fa..aa6edbc18b80872aa50880ea4ef31d716dc87de4 100644 (file)
@@ -383,11 +383,15 @@ int do_bench(librbd::Image& image, io_type_t io_type,
       cur_off = 0;
 
       double time_sum = boost::accumulators::rolling_sum(time_acc);
-      printf("%5d  %8d  %8.2lf  %8.2lf\n",
-             (int)elapsed.count(),
-             (int)(ios - io_threads),
-             boost::accumulators::rolling_sum(ios_acc) / time_sum,
-             boost::accumulators::rolling_sum(off_acc) / time_sum);
+      std::cout.width(5);
+      std::cout << (int)elapsed.count();
+      std::cout.width(10);
+      std::cout << (int)(ios - io_threads);
+      std::cout.width(10);
+      std::cout << boost::accumulators::rolling_sum(ios_acc) / time_sum;
+      std::cout.width(10);
+      std::cout << byte_u_t(boost::accumulators::rolling_sum(off_acc) / time_sum) << "/s"
+                << std::endl;
       last = elapsed;
     }
   }
@@ -404,18 +408,23 @@ int do_bench(librbd::Image& image, io_type_t io_type,
   coarse_mono_time now = coarse_mono_clock::now();
   chrono::duration<double> elapsed = now - start;
 
-  printf("elapsed: %5d  ops: %8d  ops/sec: %8.2lf  bytes/sec: %8.2lf\n",
-         (int)elapsed.count(), ios, (double)ios / elapsed.count(),
-         (double)off / elapsed.count());
+  std::cout << "elapsed: " << (int)elapsed.count() << "   "
+            << "ops: " << ios << "   "
+            << "ops/sec: " << (double)ios / elapsed.count() << "   "
+            << "bytes/sec: " << byte_u_t((double)off / elapsed.count()) << "/s"
+            << std::endl;
 
   if (io_type == IO_TYPE_RW) {
-    printf("read_ops: %5d   read_ops/sec: %8.2lf   read_bytes/sec: %8.2lf\n",
-           read_ops, (double)read_ops / elapsed.count(),
-           (double)read_ops * io_size / elapsed.count());
+  std::cout << "read_ops: " << read_ops << "   "
+            << "read_ops/sec: " << (double)read_ops / elapsed.count() << "   "
+            << "read_bytes/sec: " << byte_u_t((double)read_ops * io_size / elapsed.count()) << "/s"
+            << std::endl;
+
+  std::cout << "write_ops: " << write_ops << "   "
+            << "write_ops/sec: " << (double)write_ops / elapsed.count() << "   "
+            << "write_bytes/sec: " << byte_u_t((double)write_ops * io_size / elapsed.count()) << "/s"
+            << std::endl;
 
-    printf("write_ops: %5d   write_ops/sec: %8.2lf   write_bytes/sec: %8.2lf\n",
-           write_ops, (double)write_ops / elapsed.count(),
-           (double)write_ops * io_size / elapsed.count());
   }
 
   return 0;