From: Sage Weil Date: Thu, 21 Jan 2021 23:51:39 +0000 (-0600) Subject: mon: add 'mgr stat' command X-Git-Tag: v17.1.0~3162^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=bb702eda199cf2def81e8277d0a222daafe9df28;p=ceph.git mon: add 'mgr stat' command This is analogous to 'osd stat' and 'mds stat'. Signed-off-by: Sage Weil --- diff --git a/qa/workunits/cephtool/test.sh b/qa/workunits/cephtool/test.sh index 90a28663d9fe..3c1eb36cb21f 100755 --- a/qa/workunits/cephtool/test.sh +++ b/qa/workunits/cephtool/test.sh @@ -751,6 +751,7 @@ function test_mon_misc() ceph log last 100 | grep "$mymsg" ceph_watch_wait "$mymsg" + ceph mgr stat ceph mgr dump ceph mgr module ls ceph mgr module enable restful diff --git a/src/mon/MgrMap.h b/src/mon/MgrMap.h index aa576f32f794..5342fc51fc3d 100644 --- a/src/mon/MgrMap.h +++ b/src/mon/MgrMap.h @@ -264,6 +264,7 @@ public: bool get_available() const { return available; } const std::string &get_active_name() const { return active_name; } const utime_t& get_active_change() const { return active_change; } + int get_num_standby() const { return standbys.size(); } bool all_support_module(const std::string& module) { if (!have_module(module)) { diff --git a/src/mon/MgrMonitor.cc b/src/mon/MgrMonitor.cc index 97c36f2924da..7fb8bc329097 100644 --- a/src/mon/MgrMonitor.cc +++ b/src/mon/MgrMonitor.cc @@ -953,7 +953,15 @@ bool MgrMonitor::preprocess_command(MonOpRequestRef op) cmd_getval(cmdmap, "prefix", prefix); int r = 0; - if (prefix == "mgr dump") { + if (prefix == "mgr stat") { + f->open_object_section("stat"); + f->dump_unsigned("epoch", map.get_epoch()); + f->dump_bool("available", map.get_available()); + f->dump_string("active_name", map.get_active_name()); + f->dump_unsigned("num_standby", map.get_num_standby()); + f->close_section(); + f->flush(rdata); + } else if (prefix == "mgr dump") { int64_t epoch = 0; cmd_getval(cmdmap, "epoch", epoch, (int64_t)map.get_epoch()); if (epoch == (int64_t)map.get_epoch()) { diff --git a/src/mon/MonCommands.h b/src/mon/MonCommands.h index 83f007477c0d..fc8ab39083b7 100644 --- a/src/mon/MonCommands.h +++ b/src/mon/MonCommands.h @@ -1235,6 +1235,9 @@ COMMAND("config-key dump " /* * mon/MgrMonitor.cc */ +COMMAND("mgr stat", + "dump basic info about the mgr cluster state", + "mgr", "r") COMMAND("mgr dump " "name=epoch,type=CephInt,range=0,req=false", "dump the latest MgrMap",