]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: log latency of _first_ (unsafe) reply, not safe
authorSage Weil <sage@newdream.net>
Thu, 10 Sep 2009 21:16:19 +0000 (14:16 -0700)
committerSage Weil <sage@newdream.net>
Thu, 10 Sep 2009 21:16:19 +0000 (14:16 -0700)
Client rarely blocks on safe reply.

src/mds/MDCache.cc
src/mds/Server.cc

index 8b5f1b6285f2f65d4fe78ca7e39b1c2229c4234d..2e4cbc2ae7edf659f3f42569d7109f3a48cc15ce 100644 (file)
@@ -6302,11 +6302,6 @@ void MDCache::request_finish(MDRequest *mdr)
     return; 
   }
 
-  if (mdr->client_request && mds->logger) {
-    mds->logger->inc(l_mds_reply);
-    mds->logger->favg(l_mds_replyl, g_clock.now() - mdr->client_request->get_recv_stamp());
-  }
-
   request_cleanup(mdr);
 }
 
index 911397ec1814f0657983bf1549f0cd6c00d1e646..38f9bf7ef3cbf457067bc0c77129f3c2c18379fe 100644 (file)
@@ -720,6 +720,11 @@ void Server::early_reply(MDRequest *mdr, CInode *tracei, CDentry *tracedn)
   messenger->send_message(reply, client_inst);
 
   mdr->did_early_reply = true;
+
+  mds->logger->inc(l_mds_reply);
+  double lat = g_clock.now() - mdr->client_request->get_recv_stamp();
+  mds->logger->favg(l_mds_replyl, lat);
+  dout(0) << "lat " << lat << dendl;
 }
 
 /*
@@ -755,6 +760,12 @@ void Server::reply_request(MDRequest *mdr, MClientReply *reply, CInode *tracei,
   int dentry_wanted = req->get_dentry_wanted();
 
   if (!did_early_reply && !is_replay) {
+
+    mds->logger->inc(l_mds_reply);
+    double lat = g_clock.now() - mdr->client_request->get_recv_stamp();
+    mds->logger->favg(l_mds_replyl, lat);
+    dout(0) << "lat " << lat << dendl;
+    
     if (tracei)
       mdr->cap_releases.erase(tracei->vino());
     if (tracedn)