From: Yan, Zheng Date: Sat, 27 Jan 2018 11:39:54 +0000 (+0800) Subject: mds: add perf counter for 'open ino' operation X-Git-Tag: v13.1.0~436^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a09d7b7da43471286f16e68144aaa805578c4c1c;p=ceph.git mds: add perf counter for 'open ino' operation Signed-off-by: Yan, Zheng --- diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc index 590fab102f9..16ce99ff7df 100644 --- a/src/mds/MDCache.cc +++ b/src/mds/MDCache.cc @@ -8555,6 +8555,8 @@ void MDCache::_open_ino_fetch_dir(inodeno_t ino, MMDSOpenIno *m, CDir *dir, bool if (dir->state_test(CDir::STATE_REJOINUNDEF)) assert(dir->get_inode()->dirfragtree.is_leaf(dir->get_frag())); dir->fetch(new C_MDC_OpenInoTraverseDir(this, ino, m, parent)); + if (mds->logger) + mds->logger->inc(l_mds_openino_dir_fetch); } int MDCache::open_ino_traverse_dir(inodeno_t ino, MMDSOpenIno *m, @@ -8745,6 +8747,8 @@ void MDCache::do_open_ino_peer(inodeno_t ino, open_ino_info_t& info) if (info.discover || !info.fetch_backtrace) pa = &info.ancestors; mds->send_message_mds(new MMDSOpenIno(info.tid, ino, pa), peer); + if (mds->logger) + mds->logger->inc(l_mds_openino_peer_discover); } } @@ -9619,6 +9623,8 @@ void MDCache::fetch_backtrace(inodeno_t ino, int64_t pool, bufferlist& bl, Conte { object_t oid = CInode::get_object_name(ino, frag_t(), ""); mds->objecter->getxattr(oid, object_locator_t(pool), "parent", CEPH_NOSNAP, &bl, 0, fin); + if (mds->logger) + mds->logger->inc(l_mds_openino_backtrace_fetch); } diff --git a/src/mds/MDSRank.cc b/src/mds/MDSRank.cc index 35ef49d4dc8..ff265333bc3 100644 --- a/src/mds/MDSRank.cc +++ b/src/mds/MDSRank.cc @@ -2630,6 +2630,12 @@ void MDSRank::create_logger() mds_plb.add_u64_counter( l_mds_imported_inodes, "imported_inodes", "Imported inodes", "imi", PerfCountersBuilder::PRIO_INTERESTING); + mds_plb.add_u64_counter(l_mds_openino_dir_fetch, "openino_dir_fetch", + "OpenIno incomplete directory fetchings"); + mds_plb.add_u64_counter(l_mds_openino_backtrace_fetch, "openino_backtrace_fetch", + "OpenIno backtrace fetchings"); + mds_plb.add_u64_counter(l_mds_openino_peer_discover, "openino_peer_discover", + "OpenIno peer inode discovers"); logger = mds_plb.create_perf_counters(); g_ceph_context->get_perfcounters_collection()->add(logger); } diff --git a/src/mds/MDSRank.h b/src/mds/MDSRank.h index 39e09c7b0c0..33a8ce765fa 100644 --- a/src/mds/MDSRank.h +++ b/src/mds/MDSRank.h @@ -71,6 +71,9 @@ enum { l_mds_exported_inodes, l_mds_imported, l_mds_imported_inodes, + l_mds_openino_dir_fetch, + l_mds_openino_backtrace_fetch, + l_mds_openino_peer_discover, l_mds_last, };