]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: add inter-mds operations to PerfCounter 16743/head
authorPatrick Donnelly <pdonnell@redhat.com>
Mon, 24 Jul 2017 19:55:28 +0000 (12:55 -0700)
committerPatrick Donnelly <pdonnell@redhat.com>
Wed, 2 Aug 2017 14:48:22 +0000 (07:48 -0700)
Fixes: http://tracker.ceph.com/issues/20760
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
src/mds/MDCache.cc
src/mds/MDCache.h
src/mds/Server.cc
src/mds/Server.h

index 9fc11eef93b7c0e858727ae8db74c43fbb0ecf2c..e168d8ccdeef3ce8cb7bf120ff3b13ecdabef20e 100644 (file)
@@ -9081,6 +9081,27 @@ void MDCache::request_finish(MDRequestRef& mdr)
     return; 
   }
 
+  switch(mdr->internal_op) {
+    case CEPH_MDS_OP_FRAGMENTDIR:
+      logger->inc(l_mdss_ireq_fragmentdir);
+      break;
+    case CEPH_MDS_OP_EXPORTDIR:
+      logger->inc(l_mdss_ireq_exportdir);
+      break;
+    case CEPH_MDS_OP_ENQUEUE_SCRUB:
+      logger->inc(l_mdss_ireq_enqueue_scrub);
+      break;
+    case CEPH_MDS_OP_FLUSH:
+      logger->inc(l_mdss_ireq_flush);
+      break;
+    case CEPH_MDS_OP_REPAIR_FRAGSTATS:
+      logger->inc(l_mdss_ireq_fragstats);
+      break;
+    case CEPH_MDS_OP_REPAIR_INODESTATS:
+      logger->inc(l_mdss_ireq_inodestats);
+      break;
+  }
+
   request_cleanup(mdr);
 }
 
@@ -12362,6 +12383,19 @@ void MDCache::register_perfcounters()
     pcb.add_u64_counter(l_mdc_recovery_completed, "recovery_completed",
         "File recoveries completed", "recd", PerfCountersBuilder::PRIO_INTERESTING);
 
+    pcb.add_u64_counter(l_mdss_ireq_enqueue_scrub, "ireq_enqueue_scrub",
+        "Internal Request type enqueue scrub");
+    pcb.add_u64_counter(l_mdss_ireq_exportdir, "ireq_exportdir",
+        "Internal Request type export dir");
+    pcb.add_u64_counter(l_mdss_ireq_flush, "ireq_flush",
+        "Internal Request type flush");
+    pcb.add_u64_counter(l_mdss_ireq_fragmentdir, "ireq_fragmentdir",
+        "Internal Request type fragmentdir");
+    pcb.add_u64_counter(l_mdss_ireq_fragstats, "ireq_fragstats",
+        "Internal Request type frag stats");
+    pcb.add_u64_counter(l_mdss_ireq_inodestats, "ireq_inodestats",
+        "Internal Request type inode stats");
+
     logger.reset(pcb.create_perf_counters());
     g_ceph_context->get_perfcounters_collection()->add(logger.get());
     recovery_queue.set_logger(logger.get());
index 3b0801958913d60258ea8a0c57573206d1821986..8282ad7c44e778632f3cf5cbe9d8e574dbd3c616 100644 (file)
@@ -98,6 +98,13 @@ enum {
   // How many inodes ever completed size recovery
   l_mdc_recovery_completed,
 
+  l_mdss_ireq_enqueue_scrub,
+  l_mdss_ireq_exportdir,
+  l_mdss_ireq_flush,
+  l_mdss_ireq_fragmentdir,
+  l_mdss_ireq_fragstats,
+  l_mdss_ireq_inodestats,
+
   l_mdc_last,
 };
 
index cf32c95f6864f4a9e3b59fba72a5a0a905043c49..e6e245814f742152bb2fb98ce27e472bf94d1d66 100644 (file)
@@ -70,7 +70,6 @@ using namespace std;
 #undef dout_prefix
 #define dout_prefix *_dout << "mds." << mds->get_nodeid() << ".server "
 
-
 class ServerContext : public MDSInternalContextBase {
   protected:
   Server *server;
index 2f554f26aa25b8dde3d5e554fa63f09a075b9b79..752ba10b326ee01c8be60f6f6cc15c5342f17a97 100644 (file)
@@ -31,39 +31,39 @@ class MDLog;
 
 enum {
   l_mdss_first = 1000,
+  l_mdss_dispatch_client_request,
+  l_mdss_dispatch_slave_request,
   l_mdss_handle_client_request,
-  l_mdss_handle_slave_request,
   l_mdss_handle_client_session,
-  l_mdss_dispatch_client_request,
+  l_mdss_handle_slave_request,
+  l_mdss_req_create,
+  l_mdss_req_getattr,
+  l_mdss_req_getfilelock,
+  l_mdss_req_link,
+  l_mdss_req_lookup,
   l_mdss_req_lookuphash,
   l_mdss_req_lookupino,
-  l_mdss_req_lookupparent,
   l_mdss_req_lookupname,
-  l_mdss_req_lookup,
+  l_mdss_req_lookupparent,
   l_mdss_req_lookupsnap,
-  l_mdss_req_getattr,
+  l_mdss_req_lssnap,
+  l_mdss_req_mkdir,
+  l_mdss_req_mknod,
+  l_mdss_req_mksnap,
+  l_mdss_req_open,
+  l_mdss_req_readdir,
+  l_mdss_req_rename,
+  l_mdss_req_renamesnap,
+  l_mdss_req_rmdir,
+  l_mdss_req_rmsnap,
+  l_mdss_req_rmxattr,
   l_mdss_req_setattr,
-  l_mdss_req_setlayout,
   l_mdss_req_setdirlayout,
-  l_mdss_req_setxattr,
-  l_mdss_req_rmxattr,
-  l_mdss_req_readdir,
   l_mdss_req_setfilelock,
-  l_mdss_req_getfilelock,
-  l_mdss_req_create,
-  l_mdss_req_open,
-  l_mdss_req_mknod,
-  l_mdss_req_link,
-  l_mdss_req_unlink,
-  l_mdss_req_rmdir,
-  l_mdss_req_rename,
-  l_mdss_req_mkdir,
+  l_mdss_req_setlayout,
+  l_mdss_req_setxattr,
   l_mdss_req_symlink,
-  l_mdss_req_lssnap,
-  l_mdss_req_mksnap,
-  l_mdss_req_rmsnap,
-  l_mdss_req_renamesnap,
-  l_mdss_dispatch_slave_request,
+  l_mdss_req_unlink,
   l_mdss_last,
 };