]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: show session load average in dump session
authorVenky Shankar <vshankar@redhat.com>
Wed, 4 Jul 2018 09:44:57 +0000 (05:44 -0400)
committerVenky Shankar <vshankar@redhat.com>
Tue, 6 Nov 2018 04:17:26 +0000 (09:47 +0530)
Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit 682dc08cbd521342b4abc45fd85edb2dd7bc5682)

src/mds/MDSRank.cc
src/mds/SessionMap.h

index 8099a90096986e63f47f905a2f8ff82f603b0c93..26533c4a430deb210e9350b0ac57207967c148d1 100644 (file)
@@ -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()));
index 1a4043948f13845914312311acd5715491e81e24..660a05aa7d4dd53f3ffc8a746be0e11226b9867c 100644 (file)
@@ -104,7 +104,7 @@ private:
   std::deque<version_t> 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);
   }