]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
client logs
authorsage <sage@29311d96-e01e-0410-9327-a35deaab8ce9>
Mon, 11 Jul 2005 21:08:32 +0000 (21:08 +0000)
committersage <sage@29311d96-e01e-0410-9327-a35deaab8ce9>
Mon, 11 Jul 2005 21:08:32 +0000 (21:08 +0000)
git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@448 29311d96-e01e-0410-9327-a35deaab8ce9

ceph/client/Client.cc
ceph/client/Client.h
ceph/tcpsyn.cc

index 64680dec00d9c727571194dde0b9b36e32dce387..497e1f0241b47f5e7782e34afa67d92cc1625688 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "common/Cond.h"
 #include "common/Mutex.h"
+#include "common/Logger.h"
 
 #include "include/config.h"
 #undef dout
@@ -26,6 +27,9 @@
 #define  tout       if (g_conf.client_trace) cout << "trace: " 
 
 
+// static logger
+LogType client_logtype;
+Logger  *client_logger = 0;
 
 
 
@@ -359,9 +363,15 @@ MClientReply *Client::make_request(MClientRequest *req,
 
   // drop mutex for duration of call
   client_lock.Unlock();  
+  timepair_t start = g_clock.gettimepair();
   MClientReply *reply = (MClientReply*)messenger->sendrecv(req,
                                                                                                                   MSG_ADDR_MDS(mds), 
                                                                                                                   MDS_PORT_SERVER);
+  timepair_t end = g_clock.gettimepair();
+  timepair_t lat = end - start;
+  client_logger->finc("lsum",timepair_to_double(lat));
+  client_logger->inc("lnum");
+
   client_lock.Lock();  
   return reply;
 }
index e038b12b265920143c19580aefe9a5b7ec841eca..169562514d07934ad529c513c44e40a53db17660 100644 (file)
@@ -33,6 +33,10 @@ using namespace __gnu_cxx;
 
 class Filer;
 
+extern class LogType client_logtype;
+extern class Logger  *client_logger;
+
+
 
 // ============================================
 // types for my local metadata cache
index a1e7dec2a8767d5c64f03228c2773da9fd61b7dd..f6476a1d19a42bc15ff3eba4e8d4a50f67cd26eb 100644 (file)
@@ -181,6 +181,13 @@ int main(int oargc, char **oargv) {
        for (int i=0; i<NUMCLIENT; i++) {
          if (myrank != MPI_DEST_TO_RANK(MSG_ADDR_CLIENT(i),world)) continue;
          
+         // logger?
+         if (client_logger == 0) {
+               char s[80];
+               sprintf(s,"clnode.%d", myrank);
+               client_logger = new Logger(s, &client_logtype);
+         }
+
          client[i]->init();
          
          // use my argc, argv (make sure you pass a mount point!)