if (!quorum.empty()) {
f->dump_int(
"quorum_age",
- std::chrono::duration_cast<std::chrono::seconds>(
- mono_clock::now() - quorum_since).count());
+ quorum_age());
}
f->open_object_section("features");
if (!quorum.empty()) {
f->dump_int(
"quorum_age",
- std::chrono::duration_cast<std::chrono::seconds>(
- mono_clock::now() - quorum_since).count());
+ quorum_age());
}
f->open_object_section("features");
const auto&& fs_names = session->get_allowed_fs_names();
- mono_clock::time_point now = mono_clock::now();
if (f) {
f->dump_stream("fsid") << monmap->get_fsid();
healthmon()->get_health_status(false, f, nullptr);
f->close_section();
f->dump_int(
"quorum_age",
- std::chrono::duration_cast<std::chrono::seconds>(
- mono_clock::now() - quorum_since).count());
+ quorum_age());
}
f->open_object_section("monmap");
monmap->dump_summary(f);
const auto quorum_names = get_quorum_names();
const auto mon_count = monmap->mon_info.size();
ss << " mon: " << spacing << mon_count << " daemons, quorum "
- << quorum_names << " (age " << timespan_str(now - quorum_since) << ")";
+ << quorum_names << " (age " << quorum_age() << ")";
if (quorum_names.size() != mon_count) {
std::list<std::string> out_of_q;
for (size_t i = 0; i < monmap->ranks.size(); ++i) {
std::vector<DaemonHealthMetric> get_health_metrics();
+ int quorum_age() const {
+ auto age = ceph::mono_clock::now() - quorum_since;
+ return age.count();
+ }
+
// -- elector --
private:
std::unique_ptr<Paxos> paxos;