From: Dong Yuan Date: Wed, 12 Nov 2014 09:37:41 +0000 (+0000) Subject: osd: add ObjectContext cache perf counter X-Git-Tag: v0.93~163^2~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9252d7526f79850db20d7c8707b2ee0329368d74;p=ceph.git osd: add ObjectContext cache perf counter l_osd_object_ctx_cache_total: all lookup count l_osd_object_ctx_cache_hit: hit lookup count Signed-off-by: Dong Yuan --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 967dde72e9b..345e721aee9 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -2142,6 +2142,9 @@ void OSD::create_logger() osd_plb.add_u64_counter(l_osd_agent_flush, "agent_flush"); osd_plb.add_u64_counter(l_osd_agent_evict, "agent_evict"); + osd_plb.add_u64_counter(l_osd_object_ctx_cache_hit, "object_ctx_cache_hit"); + osd_plb.add_u64_counter(l_osd_object_ctx_cache_total, "object_ctx_cache_total"); + logger = osd_plb.create_perf_counters(); cct->get_perfcounters_collection()->add(logger); } diff --git a/src/osd/OSD.h b/src/osd/OSD.h index fc8e8de763d..c7155ae79fd 100644 --- a/src/osd/OSD.h +++ b/src/osd/OSD.h @@ -141,6 +141,9 @@ enum { l_osd_agent_flush, l_osd_agent_evict, + l_osd_object_ctx_cache_hit, + l_osd_object_ctx_cache_total, + l_osd_last, }; diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 4a598105f1d..66bbaa68747 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -7533,10 +7533,13 @@ ObjectContextRef ReplicatedPG::get_object_context(const hobject_t& soid, pg_log.get_log().objects.find(soid)->second->op == pg_log_entry_t::LOST_REVERT)); ObjectContextRef obc = object_contexts.lookup(soid); + osd->logger->inc(l_osd_object_ctx_cache_total); if (obc) { + osd->logger->inc(l_osd_object_ctx_cache_hit); dout(10) << __func__ << ": found obc in cache: " << obc << dendl; } else { + dout(10) << __func__ << ": obc NOT found in cache: " << soid << dendl; // check disk bufferlist bv; if (attrs) {