summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoao Eduardo Luis <jecluis@gmail.com>2013-08-22 16:17:12 +0100
committerJoao Eduardo Luis <jecluis@gmail.com>2013-08-24 14:16:11 +0100
commit41149c44095aa6167b1adc7c8bd9c5431cab55b8 (patch)
treeaa901c8ab2f46e7effa9f3cb180fe2f6e099e156
parent7a091d3161b34a123547da8a764da051cd60271a (diff)
downloadceph-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.cc14
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;