diff --git a/src/mgr/ActivePyModules.cc b/src/mgr/ActivePyModules.cc index 5595a2e66077e..e30da4cb0dd27 100644 --- a/src/mgr/ActivePyModules.cc +++ b/src/mgr/ActivePyModules.cc @@ -373,7 +373,7 @@ PyObject *ActivePyModules::get_python(const std::string &what) 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") { diff --git a/src/mon/PGMap.cc b/src/mon/PGMap.cc index 3bedf754f2153..9c37eb0600ca0 100644 --- a/src/mon/PGMap.cc +++ b/src/mon/PGMap.cc @@ -1595,7 +1595,7 @@ void PGMap::dump_pool_stats(ceph::Formatter *f) const 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(); @@ -1603,7 +1603,7 @@ void PGMap::dump_osd_stats(ceph::Formatter *f) const ++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(); diff --git a/src/mon/PGMap.h b/src/mon/PGMap.h index 3771194dbbf9b..f40396d324c31 100644 --- a/src/mon/PGMap.h +++ b/src/mon/PGMap.h @@ -443,7 +443,7 @@ class PGMap : public PGMapDigest { 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 = false) const; void dump_delta(ceph::Formatter *f) const; void dump_filtered_pg_stats(ceph::Formatter *f, std::set& pgs) const; void dump_pool_stats_full(const OSDMap &osd_map, std::stringstream *ss, diff --git a/src/osd/osd_types.cc b/src/osd/osd_types.cc index 767ac55489426..a4b322d20170a 100644 --- a/src/osd/osd_types.cc +++ b/src/osd/osd_types.cc @@ -392,7 +392,7 @@ void objectstore_perf_stat_t::generate_test_instances(std::listdump_unsigned("up_from", up_from); f->dump_unsigned("seq", seq); @@ -429,6 +429,7 @@ void osd_stat_t::dump(Formatter *f) const 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"); @@ -484,6 +485,7 @@ void osd_stat_t::dump(Formatter *f) const f->close_section(); // entry } f->close_section(); // network_ping_time + } } void osd_stat_t::encode(ceph::buffer::list &bl, uint64_t features) const diff --git a/src/osd/osd_types.h b/src/osd/osd_types.h index 3fd9da40569a6..9fa3fd8758d36 100644 --- a/src/osd/osd_types.h +++ b/src/osd/osd_types.h @@ -2409,7 +2409,7 @@ struct osd_stat_t { } } } - 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& o);