]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/mgr/ServiceMap.h
update sources to v12.1.2
[ceph.git] / ceph / src / mgr / ServiceMap.h
index 5137f9f84f26a8bec89bb428b78f26009a79f1b8..99165112731f0dfd48bf024eed702c0c1e980389 100644 (file)
@@ -47,10 +47,23 @@ struct ServiceMap {
        return "no daemons active";
       }
       std::ostringstream ss;
-      ss << daemons.size() << (daemons.size() > 1 ? "daemonss" : "daemon")
+      ss << daemons.size() << (daemons.size() > 1 ? " daemons" : " daemon")
         << " active";
       return ss.str();
     }
+
+    void count_metadata(const string& field,
+                       std::map<std::string,int> *out) const {
+      for (auto& p : daemons) {
+       auto q = p.second.metadata.find(field);
+       if (q == p.second.metadata.end()) {
+         (*out)["unknown"]++;
+       } else {
+         (*out)[q->second]++;
+       }
+      }
+    }
+
   };
 
   epoch_t epoch = 0;