From 711447d8d5a1058799cdb8858e105fa69dae145e Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 8 Dec 2011 13:13:29 -0800 Subject: [PATCH] mon: add mds, mon info to cluster_logger Signed-off-by: Sage Weil --- src/mon/MDSMonitor.cc | 13 ++++++++++++- src/mon/MDSMonitor.h | 4 +++- src/mon/Monitor.cc | 13 +++++++++++++ src/mon/Monitor.h | 7 +++++++ 4 files changed, 35 insertions(+), 2 deletions(-) diff --git a/src/mon/MDSMonitor.cc b/src/mon/MDSMonitor.cc index 5488180c852f2..857580c83136e 100644 --- a/src/mon/MDSMonitor.cc +++ b/src/mon/MDSMonitor.cc @@ -28,7 +28,7 @@ #include "messages/MGenericMessage.h" - +#include "common/perf_counters.h" #include "common/Timer.h" #include @@ -100,6 +100,7 @@ bool MDSMonitor::update_from_paxos() print_map(mdsmap, 0); check_subs(); + update_logger(); return true; } @@ -124,6 +125,15 @@ void MDSMonitor::encode_pending(bufferlist &bl) 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) { @@ -475,6 +485,7 @@ void MDSMonitor::_updated(MMDSBeacon *m) void MDSMonitor::on_active() { tick(); + update_logger(); } enum health_status_t MDSMonitor::get_health(ostream &oss) const diff --git a/src/mon/MDSMonitor.h b/src/mon/MDSMonitor.h index a315231803c29..ef328bda51cca 100644 --- a/src/mon/MDSMonitor.h +++ b/src/mon/MDSMonitor.h @@ -70,7 +70,9 @@ class MDSMonitor : public PaxosService { bool update_from_paxos(); void create_pending(); void encode_pending(bufferlist &bl); - + + void update_logger(); + void _updated(MMDSBeacon *m); bool preprocess_query(PaxosServiceMessage *m); // true if processed. diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index 46b646261fd47..c2e94e3a36adc 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -195,6 +195,8 @@ void Monitor::init() 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"); @@ -211,6 +213,10 @@ void Monitor::init() 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(); } @@ -273,6 +279,12 @@ void Monitor::unregister_cluster_logger() } } +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; @@ -739,6 +751,7 @@ void Monitor::finish_election() { finish_contexts(g_ceph_context, waitfor_quorum); resend_routed_requests(); + update_logger(); register_cluster_logger(); } diff --git a/src/mon/Monitor.h b/src/mon/Monitor.h index 01218d73f2c85..e215972103cc7 100644 --- a/src/mon/Monitor.h +++ b/src/mon/Monitor.h @@ -46,6 +46,8 @@ 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, @@ -62,6 +64,10 @@ enum { 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, }; @@ -190,6 +196,7 @@ public: void lose_election(epoch_t epoch, set& q, int l); // end election (called by Elector) void finish_election(); + void update_logger(); // -- paxos -- vector paxos; -- 2.39.5