#include "messages/MGenericMessage.h"
-
+#include "common/perf_counters.h"
#include "common/Timer.h"
#include <sstream>
print_map(mdsmap, 0);
check_subs();
+ update_logger();
return true;
}
pending_mdsmap.encode(bl);
}
+void MDSMonitor::update_logger()
+{
+ dout(10) << "update_logger" << dendl;
+
+ mon->cluster_logger->set(l_cluster_num_mds_up, mdsmap.get_num_up_mds());
+ mon->cluster_logger->set(l_cluster_num_mds_in, mdsmap.get_num_in_mds());
+ mon->cluster_logger->set(l_cluster_num_mds_failed, mdsmap.get_num_failed_mds());
+ mon->cluster_logger->set(l_cluster_mds_epoch, mdsmap.get_epoch());
+}
bool MDSMonitor::preprocess_query(PaxosServiceMessage *m)
{
void MDSMonitor::on_active()
{
tick();
+ update_logger();
}
enum health_status_t MDSMonitor::get_health(ostream &oss) const
assert(!cluster_logger);
{
PerfCountersBuilder pcb(g_ceph_context, "cluster", l_cluster_first, l_cluster_last);
+ pcb.add_u64(l_cluster_num_mon, "num_mon");
+ pcb.add_u64(l_cluster_num_mon_quorum, "num_mon_quorum");
pcb.add_u64(l_cluster_num_osd, "num_osd");
pcb.add_u64(l_cluster_num_osd_up, "num_osd_up");
pcb.add_u64(l_cluster_num_osd_in, "num_osd_in");
pcb.add_u64(l_cluster_num_object_degraded, "num_object_degraded");
pcb.add_u64(l_cluster_num_object_unfound, "num_object_unfound");
pcb.add_u64(l_cluster_num_kb, "num_kb");
+ pcb.add_u64(l_cluster_num_mds_up, "num_mds_up");
+ pcb.add_u64(l_cluster_num_mds_in, "num_mds_in");
+ pcb.add_u64(l_cluster_num_mds_failed, "num_mds_failed");
+ pcb.add_u64(l_cluster_mds_epoch, "mds_epoch");
cluster_logger = pcb.create_perf_counters();
}
}
}
+void Monitor::update_logger()
+{
+ cluster_logger->set(l_cluster_num_mon, monmap->size());
+ cluster_logger->set(l_cluster_num_mon_quorum, quorum.size());
+}
+
void Monitor::shutdown()
{
dout(1) << "shutdown" << dendl;
{
finish_contexts(g_ceph_context, waitfor_quorum);
resend_routed_requests();
+ update_logger();
register_cluster_logger();
}
enum {
l_cluster_first = 555000,
+ l_cluster_num_mon,
+ l_cluster_num_mon_quorum,
l_cluster_num_osd,
l_cluster_num_osd_up,
l_cluster_num_osd_in,
l_cluster_num_object_degraded,
l_cluster_num_object_unfound,
l_cluster_num_kb,
+ l_cluster_num_mds_up,
+ l_cluster_num_mds_in,
+ l_cluster_num_mds_failed,
+ l_cluster_mds_epoch,
l_cluster_last,
};
void lose_election(epoch_t epoch, set<int>& q, int l); // end election (called by Elector)
void finish_election();
+ void update_logger();
// -- paxos --
vector<Paxos*> paxos;