Logger::Logger(string& fn, LogType *type)
{
filename = "log/";
+ if (g_conf.log_name) {
+ filename += g_conf.log_name;
+ filename += "/";
+ }
filename += fn;
+ cout << "log " << filename << endl;
interval = g_conf.log_interval;
start = g_clock.gettimepair(); // time 0!
last_logged = 0;
}
// write line to log
- //out << (long)(last_logged - start);
- out << fromstart;
+ out << last_logged;
for (vector<string>::iterator it = type->keys.begin(); it != type->keys.end(); it++) {
out << "\t" << get(*it);
}
// profiling and debugging
log_messages: true,
log_interval: 10.0,
+ log_name: 0,
fake_clock: false,
fakemessenger_serialize: true,
else if (strcmp(argv[i], "--debug") == 0)
g_conf.debug = atoi(argv[++i]);
+ else if (strcmp(argv[i], "--log") == 0)
+ g_conf.log_name = argv[++i];
else if (strcmp(argv[i], "--mds_cache_size") == 0)
g_conf.mds_cache_size = atoi(argv[++i]);
// profiling
bool log_messages;
float log_interval;
+ char *log_name;
bool fake_clock;
bool fakemessenger_serialize;
int debug;
-
+
// client
int client_cache_size;
float client_cache_mid;
// request pins
request_pin_inode(req, ref);
+ mds->logger->inc("req");
+
return true;
}
request_cleanup(req);
delete req; // delete req
+ mds->logger->inc("rep");
+
//dump();
}
mds->messenger->send_message(req,
MSG_ADDR_MDS(who), port,
port);
+
+ mds->logger->inc("fw");
}
100 + mds->get_nodeid());
string name;
- name = "log.mds";
+ name = "mds";
int w = mds->get_nodeid();
if (w >= 1000) name += ('0' + ((w/1000)%10));
if (w >= 100) name += ('0' + ((w/100)%10));
if (w >= 10) name += ('0' + ((w/10)%10));
name += ('0' + ((w/1)%10));
+ name += ".log";
logger = new Logger(name, (LogType*)&mdlog_logtype);
}
// written!
num_events++;
delete e;
+ logger->set("len", num_events);
if (c) {
c->finish(0);
mdcache->inode_soft_read_finish(ref);
- logger->inc("ostat");
timepair_t now = g_clock.gettimepair();
stat_read.hit(now);
stat_req.hit(now);
dout(10) << "reply to " << *req << " readdir " << numfiles << " files" << endl;
reply->set_result(0);
- logger->inc("ordir");
timepair_t now = g_clock.gettimepair();
stat_read.hit(now);
stat_req.hit(now);