summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-08-13 16:08:14 -0700
committerSage Weil <sage@inktank.com>2013-08-13 16:51:57 -0700
commitef9c9916a01f9ac657ccd8cb19952d7a03daf63a (patch)
treebdca3cb08713189a30c12d97a6196d31f024bd85
parent9b94f90e0031957717afde16bd056322782232cb (diff)
downloadceph-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.cc2
-rw-r--r--src/mon/PGMap.cc31
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