From: Kefu Chai Date: Fri, 3 Jul 2020 08:08:55 +0000 (+0800) Subject: crimson/osd: update the osd stats with hb peers X-Git-Tag: v16.1.0~1848^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=0816f16069f7d4c5efe035ab74b333a4eefc7027;p=ceph.git crimson/osd: update the osd stats with hb peers just to align with classic OSD Signed-off-by: Kefu Chai --- diff --git a/src/crimson/osd/heartbeat.cc b/src/crimson/osd/heartbeat.cc index e3b8b3c6a2a5..c36af322acd7 100644 --- a/src/crimson/osd/heartbeat.cc +++ b/src/crimson/osd/heartbeat.cc @@ -184,6 +184,16 @@ void Heartbeat::update_peers(int whoami) } } +Heartbeat::osds_t Heartbeat::get_peers() const +{ + osds_t osds; + osds.reserve(peers.size()); + for (auto& peer : peers) { + osds.push_back(peer.first); + } + return osds; +} + void Heartbeat::remove_peer(osd_id_t peer) { auto found = peers.find(peer); diff --git a/src/crimson/osd/heartbeat.h b/src/crimson/osd/heartbeat.h index 55f779a3a8b2..7e8608aa23af 100644 --- a/src/crimson/osd/heartbeat.h +++ b/src/crimson/osd/heartbeat.h @@ -36,9 +36,11 @@ public: entity_addrvec_t back); seastar::future<> stop(); + using osds_t = std::vector; void add_peer(osd_id_t peer, epoch_t epoch); void update_peers(int whoami); void remove_peer(osd_id_t peer); + osds_t get_peers() const; const entity_addrvec_t& get_front_addrs() const; const entity_addrvec_t& get_back_addrs() const; @@ -62,7 +64,6 @@ private: Ref m); seastar::future<> handle_you_died(); - using osds_t = std::vector; /// remove down OSDs /// @return peers not needed in this epoch osds_t remove_down_peers(); diff --git a/src/crimson/osd/osd.cc b/src/crimson/osd/osd.cc index 4c72ccd58922..694317f94fe8 100644 --- a/src/crimson/osd/osd.cc +++ b/src/crimson/osd/osd.cc @@ -689,6 +689,7 @@ void OSD::update_stats() { osd_stat_seq++; osd_stat.up_from = get_up_epoch(); + osd_stat.hb_peers = heartbeat->get_peers(); osd_stat.seq = (static_cast(get_up_epoch()) << 32) | osd_stat_seq; }