From 6ec676df083ec3078f5efd8058d6fb6a491c9b04 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 2 Mar 2016 14:00:15 -0500 Subject: [PATCH] mon: add 'osd utilization' command Signed-off-by: Sage Weil (cherry picked from commit 5b757eff868dbce2393beadd9fe2522372288cc0) --- src/mon/MonCommands.h | 3 +++ src/mon/OSDMonitor.cc | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/src/mon/MonCommands.h b/src/mon/MonCommands.h index 6a48a603e3e3e..e48bc4a9dd6fd 100644 --- a/src/mon/MonCommands.h +++ b/src/mon/MonCommands.h @@ -654,6 +654,9 @@ COMMAND("osd pool stats " \ "name=name,type=CephString,req=false", "obtain stats from all pools, or from specified pool", "osd", "r", "cli,rest") +COMMAND("osd utilization", + "get basic pg distribution stats", + "osd", "r", "cli,rest") COMMAND("osd reweight-by-utilization " \ "name=oload,type=CephInt,range=100,req=false " \ "name=max_change,type=CephFloat,req=false " \ diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 2d915c5814c32..2c8ab416a7f76 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -2821,6 +2821,15 @@ bool OSDMonitor::preprocess_command(MMonCommand *m) ds << "max_osd = " << osdmap.get_max_osd() << " in epoch " << osdmap.get_epoch(); rdata.append(ds); } + } else if (prefix == "osd utilization") { + string out; + osdmap.summarize_mapping_stats(NULL, NULL, &out, f.get()); + if (f) + f->flush(rdata); + else + rdata.append(out); + r = 0; + goto reply; } else if (prefix == "osd find") { int64_t osd; if (!cmd_getval(g_ceph_context, cmdmap, "id", osd)) { -- 2.39.5