diff options
author | Joao Eduardo Luis <jecluis@gmail.com> | 2013-08-22 16:17:12 +0100 |
---|---|---|
committer | Joao Eduardo Luis <jecluis@gmail.com> | 2013-08-24 14:16:11 +0100 |
commit | 41149c44095aa6167b1adc7c8bd9c5431cab55b8 (patch) | |
tree | aa901c8ab2f46e7effa9f3cb180fe2f6e099e156 | |
parent | 7a091d3161b34a123547da8a764da051cd60271a (diff) | |
download | ceph-41149c44095aa6167b1adc7c8bd9c5431cab55b8.tar.gz |
test: ceph_test_store_tool: output estimated store size on 'get-size'
Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
-rw-r--r-- | src/test/ObjectMap/test_store_tool/test_store_tool.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/test/ObjectMap/test_store_tool/test_store_tool.cc b/src/test/ObjectMap/test_store_tool/test_store_tool.cc index ace91220df6..f81598ccfb8 100644 --- a/src/test/ObjectMap/test_store_tool/test_store_tool.cc +++ b/src/test/ObjectMap/test_store_tool/test_store_tool.cc @@ -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; |