]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/PGMap: use TextTable for dump_filtered_pg_stats() 9065/head
authorxie xingguo <xie.xingguo@zte.com.cn>
Wed, 11 May 2016 06:38:08 +0000 (14:38 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Wed, 11 May 2016 06:38:08 +0000 (14:38 +0800)
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/mon/PGMap.cc

index a6bfe0a63bad3260f1df6647a518982051bb52ba..c210248cfa855d6a839225aec47d56884031f9c3 100644 (file)
@@ -1791,32 +1791,63 @@ void PGMap::dump_filtered_pg_stats(Formatter *f, set<pg_t>& pgs)
   }
   f->close_section();
 }
+
 void PGMap::dump_filtered_pg_stats(ostream& ss, set<pg_t>& pgs)
 {
-  ss << "pg_stat\tobjects\tmip\tdegr\tmisp\tunf\tbytes\tlog\tdisklog\tstate\t"
-        "state_stamp\tv\treported\tup\tup_primary\tacting\tacting_primary\t"
-        "last_scrub\tscrub_stamp\tlast_deep_scrub\tdeep_scrub_stamp" << std::endl;
+  TextTable tab;
+
+  tab.define_column("PG_STAT", TextTable::LEFT, TextTable::RIGHT);
+  tab.define_column("OBJECTS", TextTable::LEFT, TextTable::RIGHT);
+  tab.define_column("MISSING_ON_PRIMARY", TextTable::LEFT, TextTable::RIGHT);
+  tab.define_column("DEGRADED", TextTable::LEFT, TextTable::RIGHT);
+  tab.define_column("MISPLACED", TextTable::LEFT, TextTable::RIGHT);
+  tab.define_column("UNFOUND", TextTable::LEFT, TextTable::RIGHT);
+  tab.define_column("BYTES", TextTable::LEFT, TextTable::RIGHT);
+  tab.define_column("LOG", TextTable::LEFT, TextTable::RIGHT);
+  tab.define_column("DISK_LOG", TextTable::LEFT, TextTable::RIGHT);
+  tab.define_column("STATE", TextTable::LEFT, TextTable::RIGHT);
+  tab.define_column("STATE_STAMP", TextTable::LEFT, TextTable::RIGHT);
+  tab.define_column("VERSION", TextTable::LEFT, TextTable::RIGHT);
+  tab.define_column("REPORTED", TextTable::LEFT, TextTable::RIGHT);
+  tab.define_column("UP", TextTable::LEFT, TextTable::RIGHT);
+  tab.define_column("UP_PRIMARY", TextTable::LEFT, TextTable::RIGHT);
+  tab.define_column("ACTING", TextTable::LEFT, TextTable::RIGHT);
+  tab.define_column("ACTING_PRIMARY", TextTable::LEFT, TextTable::RIGHT);
+  tab.define_column("LAST_SCRUB", TextTable::LEFT, TextTable::RIGHT);
+  tab.define_column("SCRUB_STAMP", TextTable::LEFT, TextTable::RIGHT);
+  tab.define_column("LAST_DEEP_SCRUB", TextTable::LEFT, TextTable::RIGHT);
+  tab.define_column("DEEP_SCRUB_STAMP", TextTable::LEFT, TextTable::RIGHT);
+
   for (set<pg_t>::iterator i = pgs.begin(); i != pgs.end(); ++i) {
     pg_stat_t& st = pg_stat[*i];
-    ss << *i
-       << "\t" << st.stats.sum.num_objects
-       << "\t" << st.stats.sum.num_objects_missing_on_primary
-       << "\t" << st.stats.sum.num_objects_degraded
-       << "\t" << st.stats.sum.num_objects_misplaced
-       << "\t" << st.stats.sum.num_objects_unfound
-       << "\t" << st.stats.sum.num_bytes
-       << "\t" << st.log_size
-       << "\t" << st.ondisk_log_size
-       << "\t" << pg_state_string(st.state)
-       << "\t" << st.last_change
-       << "\t" << st.version
-       << "\t" << st.reported_epoch << ":" << st.reported_seq
-       << "\t" << st.up
-       << "\t" << st.up_primary
-       << "\t" << st.acting
-       << "\t" << st.acting_primary
-       << "\t" << st.last_scrub << "\t" << st.last_scrub_stamp
-       << "\t" << st.last_deep_scrub << "\t" << st.last_deep_scrub_stamp
-       << std::endl;
+
+    ostringstream reported;
+    reported << st.reported_epoch << ":" << st.reported_seq;
+
+    tab << *i
+        << st.stats.sum.num_objects
+        << st.stats.sum.num_objects_missing_on_primary
+        << st.stats.sum.num_objects_degraded
+        << st.stats.sum.num_objects_misplaced
+        << st.stats.sum.num_objects_unfound
+        << st.stats.sum.num_bytes
+        << st.log_size
+        << st.ondisk_log_size
+        << pg_state_string(st.state)
+        << st.last_change
+        << st.version
+        << reported.str()
+        << st.up
+        << st.up_primary
+        << st.acting
+        << st.acting_primary
+        << st.last_scrub
+        << st.last_scrub_stamp
+        << st.last_deep_scrub
+        << st.last_deep_scrub_stamp
+        << TextTable::endrow;
   }
+
+  ss << tab;
 }
+