}
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;
}
+