#include "common/Cond.h"
#include "common/Mutex.h"
+#include "common/Logger.h"
#include "include/config.h"
#undef dout
#define tout if (g_conf.client_trace) cout << "trace: "
+// static logger
+LogType client_logtype;
+Logger *client_logger = 0;
// 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;
}
class Filer;
+extern class LogType client_logtype;
+extern class Logger *client_logger;
+
+
// ============================================
// types for my local metadata cache
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!)