diff options
author | Sage Weil <sage@inktank.com> | 2013-08-13 16:08:14 -0700 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-08-13 16:51:57 -0700 |
commit | ef9c9916a01f9ac657ccd8cb19952d7a03daf63a (patch) | |
tree | bdca3cb08713189a30c12d97a6196d31f024bd85 | |
parent | 9b94f90e0031957717afde16bd056322782232cb (diff) | |
download | ceph-ef9c9916a01f9ac657ccd8cb19952d7a03daf63a.tar.gz |
mon: make pg info in 'status' more informative and visually parseable
Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r-- | src/mon/Monitor.cc | 2 | ||||
-rw-r--r-- | 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 e6dbd23881b..2afa7f64285 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 b5e6c4ecb89..57bbc454d20 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 |