]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/PGMap: use signed values for calculated rates
authorSage Weil <sage@inktank.com>
Fri, 19 Jul 2013 17:39:17 +0000 (10:39 -0700)
committerSage Weil <sage@inktank.com>
Fri, 19 Jul 2013 17:39:17 +0000 (10:39 -0700)
si_t (and friends) does not handle signed values, but at least we can
give the Formatters unmangled values.  This shouldn't happen (tm), but
if it does this will make things a bit less confusing and makes the code
a bit less fragile.

Signed-off-by: Sage Weil <sage@inktank.com>
src/mon/PGMap.cc

index dfb6b1acfd35f7b0d99d3756432540792321e07a..f2b3a0b6a36a08a708ac74c4148697d98cc9e9b9 100644 (file)
@@ -731,13 +731,13 @@ void PGMap::recovery_summary(Formatter *f, ostream *out) const
   if (pg_sum_delta.stats.sum.num_objects_recovered ||
       pg_sum_delta.stats.sum.num_bytes_recovered ||
       pg_sum_delta.stats.sum.num_keys_recovered) {
-    uint64_t objps = pg_sum_delta.stats.sum.num_objects_recovered / (double)stamp_delta;
-    uint64_t bps = pg_sum_delta.stats.sum.num_bytes_recovered / (double)stamp_delta;
-    uint64_t kps = pg_sum_delta.stats.sum.num_keys_recovered / (double)stamp_delta;
+    int64_t objps = pg_sum_delta.stats.sum.num_objects_recovered / (double)stamp_delta;
+    int64_t bps = pg_sum_delta.stats.sum.num_bytes_recovered / (double)stamp_delta;
+    int64_t kps = pg_sum_delta.stats.sum.num_keys_recovered / (double)stamp_delta;
     if (f) {
-      f->dump_unsigned("recovering_objects_per_sec", objps);
-      f->dump_unsigned("recovering_bytes_per_sec", bps);
-      f->dump_unsigned("recovering_keys_per_sec", kps);
+      f->dump_int("recovering_objects_per_sec", objps);
+      f->dump_int("recovering_bytes_per_sec", bps);
+      f->dump_int("recovering_keys_per_sec", kps);
     } else {
       if (!first)
        *out << "; ";
@@ -820,24 +820,24 @@ void PGMap::print_summary(Formatter *f, ostream *out) const
     if (!f)
       *out << "; ";
     if (pg_sum_delta.stats.sum.num_rd) {
-      uint64_t rd = (pg_sum_delta.stats.sum.num_rd_kb << 10) / (double)stamp_delta;
+      int64_t rd = (pg_sum_delta.stats.sum.num_rd_kb << 10) / (double)stamp_delta;
       if (f) {
-       f->dump_unsigned("read_bytes_sec", rd);
+       f->dump_int("read_bytes_sec", rd);
       } else {
        *out << si_t(rd) << "B/s rd, ";
       }
     }
     if (pg_sum_delta.stats.sum.num_wr) {
-      uint64_t wr = (pg_sum_delta.stats.sum.num_wr_kb << 10) / (double)stamp_delta;
+      int64_t wr = (pg_sum_delta.stats.sum.num_wr_kb << 10) / (double)stamp_delta;
       if (f) {
-       f->dump_unsigned("write_bytes_sec", wr);
+       f->dump_int("write_bytes_sec", wr);
       } else {
        *out << si_t(wr) << "B/s wr, ";
       }
     }
-    uint64_t iops = (pg_sum_delta.stats.sum.num_rd + pg_sum_delta.stats.sum.num_wr) / (double)stamp_delta;
+    int64_t iops = (pg_sum_delta.stats.sum.num_rd + pg_sum_delta.stats.sum.num_wr) / (double)stamp_delta;
     if (f) {
-      f->dump_unsigned("op_per_sec", iops);
+      f->dump_int("op_per_sec", iops);
     } else {
       *out << si_t(iops) << "op/s";
     }