From 0a3669bc54754a64204c9a254d4b412261053d9e Mon Sep 17 00:00:00 2001 From: Venky Shankar Date: Wed, 4 Jul 2018 05:44:57 -0400 Subject: [PATCH] mds: show session load average in dump session Signed-off-by: Venky Shankar (cherry picked from commit 682dc08cbd521342b4abc45fd85edb2dd7bc5682) --- src/mds/MDSRank.cc | 3 +++ src/mds/SessionMap.h | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/mds/MDSRank.cc b/src/mds/MDSRank.cc index 8099a90096986..26533c4a430de 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 1a4043948f138..660a05aa7d4dd 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); } -- 2.39.5