cluster_state.with_pgmap(
[&f, &tstate](const PGMap &pg_map) {
PyEval_RestoreThread(tstate);
- pg_map.dump_osd_stats(&f);
+ pg_map.dump_osd_stats(&f, false);
});
return f.get();
} else if (what == "osd_pool_stats") {
f->close_section();
}
-void PGMap::dump_osd_stats(ceph::Formatter *f) const
+void PGMap::dump_osd_stats(ceph::Formatter *f, bool with_net) const
{
f->open_array_section("osd_stats");
for (auto q = osd_stat.begin();
++q) {
f->open_object_section("osd_stat");
f->dump_int("osd", q->first);
- q->second.dump(f);
+ q->second.dump(f, with_net);
f->close_section();
}
f->close_section();
void dump_basic(ceph::Formatter *f) const;
void dump_pg_stats(ceph::Formatter *f, bool brief) const;
void dump_pool_stats(ceph::Formatter *f) const;
- void dump_osd_stats(ceph::Formatter *f) const;
+ void dump_osd_stats(ceph::Formatter *f, bool with_net = true) const;
void dump_delta(ceph::Formatter *f) const;
void dump_filtered_pg_stats(ceph::Formatter *f, std::set<pg_t>& pgs) const;
void dump_pool_stats_full(const OSDMap &osd_map, std::stringstream *ss,
}
// -- osd_stat_t --
-void osd_stat_t::dump(Formatter *f) const
+void osd_stat_t::dump(Formatter *f, bool with_net) const
{
f->dump_unsigned("up_from", up_from);
f->dump_unsigned("seq", seq);
f->open_array_section("alerts");
::dump(f, os_alerts);
f->close_section();
+ if (with_net) {
f->open_array_section("network_ping_times");
for (auto &i : hb_pingtime) {
f->open_object_section("entry");
f->close_section(); // entry
}
f->close_section(); // network_ping_time
+ }
}
void osd_stat_t::encode(ceph::buffer::list &bl, uint64_t features) const
}
}
}
- void dump(ceph::Formatter *f) const;
+ void dump(ceph::Formatter *f, bool with_net = true) const;
void encode(ceph::buffer::list &bl, uint64_t features) const;
void decode(ceph::buffer::list::const_iterator &bl);
static void generate_test_instances(std::list<osd_stat_t*>& o);