From: Venky Shankar Date: Wed, 4 Jul 2018 09:44:57 +0000 (-0400) Subject: mds: show session load average in dump session X-Git-Tag: v13.2.3~57^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=0a3669bc54754a64204c9a254d4b412261053d9e;p=ceph.git mds: show session load average in dump session Signed-off-by: Venky Shankar (cherry picked from commit 682dc08cbd521342b4abc45fd85edb2dd7bc5682) --- diff --git a/src/mds/MDSRank.cc b/src/mds/MDSRank.cc index 8099a900969..26533c4a430 100644 --- a/src/mds/MDSRank.cc +++ b/src/mds/MDSRank.cc @@ -2264,6 +2264,9 @@ void MDSRankDispatcher::dump_sessions(const SessionFilter &filter, Formatter *f) f->dump_int("num_caps", s->caps.size()); f->dump_string("state", s->get_state_name()); + if (s->is_open() || s->is_stale()) { + f->dump_unsigned("request_load_avg", s->get_load_avg()); + } f->dump_int("replay_requests", is_clientreplay() ? s->get_request_count() : 0); f->dump_unsigned("completed_requests", s->get_num_completed_requests()); f->dump_bool("reconnecting", server->waiting_for_reconnect(p.first.num())); diff --git a/src/mds/SessionMap.h b/src/mds/SessionMap.h index 1a4043948f1..660a05aa7d4 100644 --- a/src/mds/SessionMap.h +++ b/src/mds/SessionMap.h @@ -104,7 +104,7 @@ private: std::deque projected; // request load average for this session - DecayCounter load_avg; + mutable DecayCounter load_avg; DecayRate load_avg_rate; public: @@ -209,6 +209,9 @@ public: assert(is_open() || is_stale()); load_avg_rate.set_halflife(rate); } + uint64_t get_load_avg() const { + return (uint64_t)load_avg.get(ceph_clock_now(), load_avg_rate); + } void hit_session() { load_avg.hit(ceph_clock_now(), load_avg_rate); }