From ef9c9916a01f9ac657ccd8cb19952d7a03daf63a Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 13 Aug 2013 16:08:14 -0700 Subject: [PATCH] mon: make pg info in 'status' more informative and visually parseable Signed-off-by: Sage Weil --- src/mon/Monitor.cc | 2 +- src/mon/PGMap.cc | 31 ++++++++++++++++++------------- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index e6dbd23881b44..2afa7f64285a1 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -1834,7 +1834,7 @@ void Monitor::get_status(stringstream &ss, Formatter *f) ss << " monmap " << *monmap << ", election epoch " << get_epoch() << ", quorum " << get_quorum() << " " << get_quorum_names() << "\n"; osdmon()->osdmap.print_summary(NULL, ss); - ss << " pgmap " << pgmon()->pg_map << "\n"; + pgmon()->pg_map.print_summary(NULL, &ss); ss << " mdsmap " << mdsmon()->mdsmap << "\n"; } } diff --git a/src/mon/PGMap.cc b/src/mon/PGMap.cc index b5e6c4ecb89cc..57bbc454d203f 100644 --- a/src/mon/PGMap.cc +++ b/src/mon/PGMap.cc @@ -802,9 +802,9 @@ void PGMap::print_summary(Formatter *f, ostream *out) const f->dump_unsigned("count", p->second); f->close_section(); } else { - if (p != num_pg_by_state.begin()) - ss << ", "; - ss << p->second << " " << pg_state_string(p->first); + ss.setf(std::ios::right); + ss << std::setw(9) << p->second << " " << pg_state_string(p->first) << "\n"; + ss.unsetf(std::ios::right); } } if (f) @@ -818,14 +818,22 @@ void PGMap::print_summary(Formatter *f, ostream *out) const f->dump_unsigned("bytes_avail", osd_sum.kb_avail * 4096ull); f->dump_unsigned("bytes_total", osd_sum.kb * 4096ull); } else { - string states = ss.str(); - *out << "v" << version << ": " - << pg_stat.size() << " pgs: " - << states << "; " + *out << " pgmap v" << version << ": " + << pg_stat.size() << " pgs, " << pg_pool_sum.size() << " pools, " << prettybyte_t(pg_sum.stats.sum.num_bytes) << " data, " + << si_t(pg_sum.stats.sum.num_objects) << " objects\n"; + *out << " " << kb_t(osd_sum.kb_used) << " used, " << kb_t(osd_sum.kb_avail) << " / " - << kb_t(osd_sum.kb) << " avail"; + << kb_t(osd_sum.kb) << " avail\n"; + } + + std::stringstream ssr; + recovery_summary(f, &ssr); + if (!f) { + if (ssr.str().length()) + *out << " " << ssr.str() << "\n"; + *out << ss.str(); } // make non-negative; we can get negative values if osds send @@ -836,7 +844,7 @@ void PGMap::print_summary(Formatter *f, ostream *out) const if (pos_delta.stats.sum.num_rd || pos_delta.stats.sum.num_wr) { if (!f) - *out << "; "; + *out << " io "; if (pos_delta.stats.sum.num_rd) { int64_t rd = (pos_delta.stats.sum.num_rd_kb << 10) / (double)stamp_delta; if (f) { @@ -858,13 +866,10 @@ void PGMap::print_summary(Formatter *f, ostream *out) const f->dump_int("op_per_sec", iops); } else { *out << si_t(iops) << "op/s"; + *out << "\n"; } } - std::stringstream ssr; - recovery_summary(f, &ssr); - if (!f && ssr.str().length()) - *out << "; " << ssr.str(); } void PGMap::print_oneline_summary(ostream *out) const -- 2.39.5