From: Sage Weil Date: Thu, 10 Sep 2009 21:16:19 +0000 (-0700) Subject: mds: log latency of _first_ (unsafe) reply, not safe X-Git-Tag: v0.15~82 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=0888b5f1cb38a41cb49ace3e5fa7b53f7314dbb3;p=ceph.git mds: log latency of _first_ (unsafe) reply, not safe Client rarely blocks on safe reply. --- diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc index 8b5f1b6285f..2e4cbc2ae7e 100644 --- a/src/mds/MDCache.cc +++ b/src/mds/MDCache.cc @@ -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); } diff --git a/src/mds/Server.cc b/src/mds/Server.cc index 911397ec181..38f9bf7ef3c 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -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)