]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
test: ceph_test_store_tool: output estimated store size on 'get-size'
authorJoao Eduardo Luis <jecluis@gmail.com>
Thu, 22 Aug 2013 15:17:12 +0000 (16:17 +0100)
committerJoao Eduardo Luis <jecluis@gmail.com>
Sat, 24 Aug 2013 13:16:11 +0000 (14:16 +0100)
Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
src/test/ObjectMap/test_store_tool/test_store_tool.cc

index ace91220df66fe1ef854538bc7786c4dbb508279..f81598ccfb8d2dd8811888383ad14faaada26e45 100644 (file)
@@ -90,6 +90,17 @@ class StoreTool
     exists = false;
     return bufferlist();
   }
+
+  uint64_t get_size() {
+    map<string,uint64_t> extras;
+    uint64_t s = db->get_estimated_size(extras);
+    for (map<string,uint64_t>::iterator p = extras.begin();
+         p != extras.end(); ++p) {
+      std::cout << p->first << " - " << p->second << std::endl;
+    }
+    std::cout << "total: " << s << std::endl;
+    return s;
+  }
 };
 
 void usage(const char *pname)
@@ -101,6 +112,7 @@ void usage(const char *pname)
     << "  exists <prefix> [key]\n"
     << "  get <prefix> <key>\n"
     << "  verify <store path>\n"
+    << "  get-size\n"
     << std::endl;
 }
 
@@ -173,6 +185,8 @@ int main(int argc, const char *argv[])
 
   } else if (cmd == "verify") {
     assert(0);
+  } else if (cmd == "get-size") {
+    std::cout << "estimated store size: " << st.get_size() << std::endl;
   } else {
     std::cerr << "Unrecognized command: " << cmd << std::endl;
     return 1;