if (client_logger == 0) {
client_logtype.add_inc(l_c_reply, "reply");
client_logtype.add_avg(l_c_lat, "lat");
- client_logtype.add_avg(l_c_lat, "wrlat");
- client_logtype.add_avg(l_c_lat, "owrlat");
- client_logtype.add_avg(l_c_lat, "ordlat");
+ client_logtype.add_avg(l_c_wrlat, "wrlat");
+ client_logtype.add_avg(l_c_owrlat, "owrlat");
+ client_logtype.add_avg(l_c_ordlat, "ordlat");
+ client_logtype.validate();
char s[80];
char hostname[80];
}
void add_key(int key, const char *name, bool is_inc, bool is_avg) {
int i = lookup_key(key, true);
+ assert(!key_name[i]); // only register each type once!
key_name[i] = name;
inc_keys[i] = is_inc;
avg_keys[i] = is_avg;
void add_avg(int key, const char *name) {
return add_key(key, name, true, true);
}
+ void validate() {
+ for (int i=0; i<num_keys; i++)
+ assert(key_name[i]);
+ }
};
#endif
#include "include/Context.h"
#include "events/EMetaBlob.h"
+class Logger;
+
class MDS;
class Migrator;
class Renamer;
-class Logger;
-
class Message;
class Session;
want_state = state = MDSMap::STATE_BOOT;
- logger = logger2 = 0;
+ logger = 0;
}
MDS::~MDS() {
if (objecter) { delete objecter; objecter = 0; }
if (logger) { delete logger; logger = 0; }
- if (logger2) { delete logger2; logger2 = 0; }
if (messenger)
messenger->destroy();
void MDS::reopen_logger(utime_t start)
{
static LogType mds_logtype(l_mds_first, l_mds_last);
- static LogType mds_cache_logtype(l_mdc_first, l_mdc_last);
static bool didit = false;
if (!didit) {
mds_logtype.add_inc(l_mds_dir_f, "dir_f");
mds_logtype.add_inc(l_mds_dir_c, "dir_c");
+ mds_logtype.add_inc(l_mds_dir_sp, "dir_sp");
+ mds_logtype.add_inc(l_mds_dir_ffc, "dir_ffc");
//mds_logtype.add_inc("mkdir");
/*
mds_logtype.add_set("nim");
*/
+ mds_logtype.validate();
}
if (whoami < 0) return;
// flush+close old log
if (logger) delete logger;
- if (logger2) delete logger2;
// log
char name[80];
logger = new Logger(name, (LogType*)&mds_logtype, append);
logger->set_start(start);
- char n[80];
- sprintf(n, "mds%d.cache", whoami);
- logger2 = new Logger(n, (LogType*)&mds_cache_logtype, append);
- logger2->set_start(start);
-
mdlog->reopen_logger(start, append);
server->reopen_logger(start, append);
}
MDSTableClient *get_table_client(int t);
MDSTableServer *get_table_server(int t);
- Logger *logger, *logger2;
+ Logger *logger;
protected:
osd_logtype.add_inc(l_osd_r_wr, "r_wr");
osd_logtype.add_inc(l_osd_r_wrb, "r_wrb");
+ osd_logtype.add_inc(l_osd_subop, "subop");
+
osd_logtype.add_inc(l_osd_r_push, "r_push");
osd_logtype.add_inc(l_osd_r_pushb, "r_pushb");
osd_logtype.add_inc(l_osd_r_pull, "r_pull");
osd_logtype.add_inc(l_osd_mapidup, "mapidup");
osd_logtype.add_inc(l_osd_mapf, "mapf");
osd_logtype.add_inc(l_osd_mapfdup, "mapfdup");
+
+ osd_logtype.validate();
+
// i'm ready!
messenger->set_dispatcher(this);