Due to the overhead of this on large clusters, we removed the network
information was wasn't getting used anyway.
Fixes: https://tracker.ceph.com/issues/43364
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit
1e2fe722c41d4cc34094afb157b3eb06b4a50972)
Conflicts:
src/mon/PGMap.cc - trivial resolution
src/mon/PGMap.h - trivial resolution
src/osd/osd_types.h - trivial resolution
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(Formatter *f) const
+void PGMap::dump_osd_stats(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(Formatter *f) const;
void dump_pg_stats(Formatter *f, bool brief) const;
void dump_pool_stats(Formatter *f) const;
- void dump_osd_stats(Formatter *f) const;
+ void dump_osd_stats(Formatter *f, bool with_net = true) const;
void dump_delta(Formatter *f) const;
void dump_filtered_pg_stats(Formatter *f, set<pg_t>& pgs) const;
void dump_pool_stats_full(const OSDMap &osd_map, 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(bufferlist &bl, uint64_t features) const
}
}
}
- void dump(Formatter *f) const;
+ void dump(Formatter *f, bool with_net = true) const;
void encode(bufferlist &bl, uint64_t features) const;
void decode(bufferlist::const_iterator &bl);
static void generate_test_instances(std::list<osd_stat_t*>& o);