]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd_stat_t::dump: Add option for ceph-mgr pythonn callers to skip ping network
authorDavid Zafman <dzafman@redhat.com>
Fri, 20 Dec 2019 23:53:49 +0000 (15:53 -0800)
committerNeha Ojha <nojha@redhat.com>
Thu, 2 Jan 2020 17:28:50 +0000 (09:28 -0800)
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

src/mgr/ActivePyModules.cc
src/mon/PGMap.cc
src/mon/PGMap.h
src/osd/osd_types.cc
src/osd/osd_types.h

index a554475dcdd53f5bf948a8b4669517100673e59d..ec7d941c8f5486ce3c577a17902a157f9c080157 100644 (file)
@@ -362,7 +362,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") {
index 3d8538f3689b2f2288f03a518c1b99d9a4399d60..7e66892a528cc296ede6c861e1c15cc4fb810952 100644 (file)
@@ -1554,7 +1554,7 @@ void PGMap::dump_pool_stats(Formatter *f) const
   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();
@@ -1562,7 +1562,7 @@ void PGMap::dump_osd_stats(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();
index 91a7c1dd22bea8f8446f9ffb83b5227f1005ed3f..cd6320c40b9f758a9a092cbdf22ae385e4cb5ada 100644 (file)
@@ -438,7 +438,7 @@ public:
   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,
index 7fb9b8df2f0481585eddeba51759adc4e4096779..16fe5ea8cf25b0cf6cf160a53b263e361336e8fd 100644 (file)
@@ -357,7 +357,7 @@ void objectstore_perf_stat_t::generate_test_instances(std::list<objectstore_perf
 }
 
 // -- 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);
@@ -393,6 +393,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");
@@ -448,6 +449,7 @@ void osd_stat_t::dump(Formatter *f) const
     f->close_section(); // entry
   }
   f->close_section(); // network_ping_time
+  }
 }
 
 void osd_stat_t::encode(bufferlist &bl, uint64_t features) const
index 6ef0009dd5792f551f8bacb1d91a9cb7db6b61a5..4b91c8ccad15a83e9ba95d704a57e38b362f66b1 100644 (file)
@@ -2411,7 +2411,7 @@ struct osd_stat_t {
       }
     }
   }
-  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);