From 85f22ec827a78f8b82911f2fb10ae68b56394564 Mon Sep 17 00:00:00 2001 From: Pan Liu Date: Tue, 29 Nov 2016 17:39:51 +0800 Subject: [PATCH] osd: replace hb_out and hb_in with a single hb_peers Signed-off-by: Pan Liu --- src/mon/PGMap.cc | 4 ++-- src/osd/OSD.cc | 3 +-- src/osd/osd_types.cc | 28 +++++++++++----------------- src/osd/osd_types.h | 7 +++---- 4 files changed, 17 insertions(+), 25 deletions(-) diff --git a/src/mon/PGMap.cc b/src/mon/PGMap.cc index ac97d9d280a74..4023aed65e79c 100644 --- a/src/mon/PGMap.cc +++ b/src/mon/PGMap.cc @@ -952,7 +952,7 @@ void PGMap::dump_osd_stats(ostream& ss) const tab.define_column("USED", TextTable::LEFT, TextTable::RIGHT); tab.define_column("AVAIL", TextTable::LEFT, TextTable::RIGHT); tab.define_column("TOTAL", TextTable::LEFT, TextTable::RIGHT); - tab.define_column("HB_IN", TextTable::LEFT, TextTable::RIGHT); + tab.define_column("HB_PEERS", TextTable::LEFT, TextTable::RIGHT); tab.define_column("PG_SUM", TextTable::LEFT, TextTable::RIGHT); for (ceph::unordered_map::const_iterator p = osd_stat.begin(); @@ -962,7 +962,7 @@ void PGMap::dump_osd_stats(ostream& ss) const << si_t(p->second.kb_used << 10) << si_t(p->second.kb_avail << 10) << si_t(p->second.kb << 10) - << p->second.hb_in + << p->second.hb_peers << get_num_pg_by_osd(p->first) << TextTable::endrow; } diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 3f01634a7c0d6..e639a17fab73d 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -759,8 +759,7 @@ void OSDService::update_osd_stat(vector& hb_peers) { Mutex::Locker lock(stat_lock); - osd_stat.hb_in.swap(hb_peers); - osd_stat.hb_out.clear(); + osd_stat.hb_peers.swap(hb_peers); osd->op_tracker.get_age_ms_histogram(&osd_stat.op_queue_age_hist); diff --git a/src/osd/osd_types.cc b/src/osd/osd_types.cc index dc6acbbda052f..b5b2657712ae7 100644 --- a/src/osd/osd_types.cc +++ b/src/osd/osd_types.cc @@ -309,13 +309,9 @@ void osd_stat_t::dump(Formatter *f) const f->dump_unsigned("kb", kb); f->dump_unsigned("kb_used", kb_used); f->dump_unsigned("kb_avail", kb_avail); - f->open_array_section("hb_in"); - for (vector::const_iterator p = hb_in.begin(); p != hb_in.end(); ++p) - f->dump_int("osd", *p); - f->close_section(); - f->open_array_section("hb_out"); - for (vector::const_iterator p = hb_out.begin(); p != hb_out.end(); ++p) - f->dump_int("osd", *p); + f->open_array_section("hb_peers"); + for (auto p : hb_peers) + f->dump_int("osd", p); f->close_section(); f->dump_int("snap_trim_queue_len", snap_trim_queue_len); f->dump_int("num_snap_trimming", num_snap_trimming); @@ -329,14 +325,14 @@ void osd_stat_t::dump(Formatter *f) const void osd_stat_t::encode(bufferlist &bl) const { - ENCODE_START(4, 2, bl); + ENCODE_START(5, 2, bl); ::encode(kb, bl); ::encode(kb_used, bl); ::encode(kb_avail, bl); ::encode(snap_trim_queue_len, bl); ::encode(num_snap_trimming, bl); - ::encode(hb_in, bl); - ::encode(hb_out, bl); + ::encode(hb_peers, bl); + ::encode((uint32_t)0, bl); ::encode(op_queue_age_hist, bl); ::encode(fs_perf_stat, bl); ENCODE_FINISH(bl); @@ -344,14 +340,15 @@ void osd_stat_t::encode(bufferlist &bl) const void osd_stat_t::decode(bufferlist::iterator &bl) { - DECODE_START_LEGACY_COMPAT_LEN(4, 2, 2, bl); + DECODE_START_LEGACY_COMPAT_LEN(5, 2, 2, bl); ::decode(kb, bl); ::decode(kb_used, bl); ::decode(kb_avail, bl); ::decode(snap_trim_queue_len, bl); ::decode(num_snap_trimming, bl); - ::decode(hb_in, bl); - ::decode(hb_out, bl); + ::decode(hb_peers, bl); + uint32_t num_hb_out; + ::decode(num_hb_out, bl); if (struct_v >= 3) ::decode(op_queue_age_hist, bl); if (struct_v >= 4) @@ -367,10 +364,7 @@ void osd_stat_t::generate_test_instances(std::list& o) o.back()->kb = 1; o.back()->kb_used = 2; o.back()->kb_avail = 3; - o.back()->hb_in.push_back(5); - o.back()->hb_in.push_back(6); - o.back()->hb_out = o.back()->hb_in; - o.back()->hb_out.push_back(7); + o.back()->hb_peers.push_back(7); o.back()->snap_trim_queue_len = 8; o.back()->num_snap_trimming = 99; } diff --git a/src/osd/osd_types.h b/src/osd/osd_types.h index 5bf08c1c39656..fee7b81560a54 100644 --- a/src/osd/osd_types.h +++ b/src/osd/osd_types.h @@ -844,7 +844,7 @@ WRITE_CLASS_ENCODER(objectstore_perf_stat_t) */ struct osd_stat_t { int64_t kb, kb_used, kb_avail; - vector hb_in, hb_out; + vector hb_peers; int32_t snap_trim_queue_len, num_snap_trimming; pow2_hist_t op_queue_age_hist; @@ -886,8 +886,7 @@ inline bool operator==(const osd_stat_t& l, const osd_stat_t& r) { l.kb_avail == r.kb_avail && l.snap_trim_queue_len == r.snap_trim_queue_len && l.num_snap_trimming == r.num_snap_trimming && - l.hb_in == r.hb_in && - l.hb_out == r.hb_out && + l.hb_peers == r.hb_peers && l.op_queue_age_hist == r.op_queue_age_hist && l.fs_perf_stat == r.fs_perf_stat; } @@ -901,7 +900,7 @@ inline ostream& operator<<(ostream& out, const osd_stat_t& s) { return out << "osd_stat(" << kb_t(s.kb_used) << " used, " << kb_t(s.kb_avail) << " avail, " << kb_t(s.kb) << " total, " - << "peers " << s.hb_in << "/" << s.hb_out + << "peers " << s.hb_peers << " op hist " << s.op_queue_age_hist.h << ")"; } -- 2.47.3