}
}
}
+
+ friend ostream& operator<<(ostream& out, const MgrMap& m) {
+ ostringstream ss;
+ m.print_summary(nullptr, &ss);
+ return out << ss.str();
+ }
};
WRITE_CLASS_ENCODER_FEATURES(MgrMap)
void MgrMonitor::encode_pending(MonitorDBStore::TransactionRef t)
{
+ dout(10) << __func__ << " " << pending_map << dendl;
bufferlist bl;
pending_map.encode(bl, 0);
put_version(t, pending_map.epoch, bl);
mon->timer.add_event_after(g_conf->mon_mgr_digest_period, digest_callback);
}
+void MgrMonitor::on_active()
+{
+ if (mon->is_leader())
+ mon->clog->info() << "mgrmap e" << map.epoch << ": " << map;
+}
+
void MgrMonitor::get_health(
list<pair<health_status_t,string> >& summary,
list<pair<health_status_t,string> > *detail,
void check_subs();
void send_digests();
+ void on_active() override;
void get_health(list<pair<health_status_t,string> >& summary,
list<pair<health_status_t,string> > *detail,
CephContext *cct) const override;
-
void tick() override;
void print_summary(Formatter *f, std::ostream *ss) const;