From 59dd587ddb3bc95a95d0fb8715511d194181ec6f Mon Sep 17 00:00:00 2001 From: Venky Shankar Date: Mon, 21 Aug 2023 03:50:22 -0400 Subject: [PATCH] mds: add perf counter to track number of sessions evicted due to metadata threshold being exceeded Signed-off-by: Venky Shankar --- src/mds/SessionMap.cc | 4 ++++ src/mds/SessionMap.h | 1 + 2 files changed, 5 insertions(+) diff --git a/src/mds/SessionMap.cc b/src/mds/SessionMap.cc index 873dedbe68dcf..9cc2b013847e2 100644 --- a/src/mds/SessionMap.cc +++ b/src/mds/SessionMap.cc @@ -71,6 +71,8 @@ void SessionMap::register_perfcounters() plb.add_u64(l_mdssm_avg_load, "average_load", "Average Load"); plb.add_u64(l_mdssm_avg_session_uptime, "avg_session_uptime", "Average session uptime"); + plb.add_u64(l_mdssm_metadata_threshold_sessions_evicted, "mdthresh_evicted", + "Sessions evicted on reaching metadata threshold"); logger = plb.create_perf_counters(); g_ceph_context->get_perfcounters_collection()->add(logger); @@ -479,6 +481,7 @@ void SessionMap::save(MDSContext *onsave, version_t needv) new C_OnFinisher(new C_IO_SM_Save(this, version), mds->finisher)); apply_blocklist(to_blocklist); + logger->inc(l_mdssm_metadata_threshold_sessions_evicted, to_blocklist.size()); } void SessionMap::_save_finish(version_t v) @@ -926,6 +929,7 @@ void SessionMap::save_if_dirty(const std::set &tgt_sessions, } apply_blocklist(to_blocklist); + logger->inc(l_mdssm_metadata_threshold_sessions_evicted, to_blocklist.size()); } // ================= diff --git a/src/mds/SessionMap.h b/src/mds/SessionMap.h index c1c28a8455bad..360dd66a27bb5 100644 --- a/src/mds/SessionMap.h +++ b/src/mds/SessionMap.h @@ -45,6 +45,7 @@ enum { l_mdssm_total_load, l_mdssm_avg_load, l_mdssm_avg_session_uptime, + l_mdssm_metadata_threshold_sessions_evicted, l_mdssm_last, }; -- 2.39.5