[RocksDB] Expose DBStatistics

Summary: Make Statistics usable by client

Test Plan: make check; db_bench

Reviewers: dhruba

Reviewed By: dhruba

Differential Revision: https://reviews.facebook.net/D10899
main
Haobo Xu 12 years ago
parent 760dd4750f
commit c2e2460f8a
  1. 2
      db/db_bench.cc
  2. 6
      db/db_statistics.h
  3. 3
      include/leveldb/statistics.h
  4. 2
      tools/db_stress.cc

@ -1817,7 +1817,7 @@ int main(int argc, char** argv) {
} else if (sscanf(argv[i], "--statistics=%d%c", &n, &junk) == 1 && } else if (sscanf(argv[i], "--statistics=%d%c", &n, &junk) == 1 &&
(n == 0 || n == 1)) { (n == 0 || n == 1)) {
if (n == 1) { if (n == 1) {
dbstats.reset(new leveldb::DBStatistics()); dbstats = leveldb::CreateDBStatistics();
FLAGS_statistics = true; FLAGS_statistics = true;
} }
} else if (sscanf(argv[i], "--writes=%d%c", &n, &junk) == 1) { } else if (sscanf(argv[i], "--writes=%d%c", &n, &junk) == 1) {

@ -8,6 +8,7 @@
#include <cassert> #include <cassert>
#include <stdlib.h> #include <stdlib.h>
#include <vector> #include <vector>
#include <memory>
#include "leveldb/statistics.h" #include "leveldb/statistics.h"
#include "util/histogram.h" #include "util/histogram.h"
@ -48,6 +49,11 @@ class DBStatistics: public Statistics {
std::vector<Ticker> allTickers_; std::vector<Ticker> allTickers_;
std::vector<HistogramImpl> allHistograms_; std::vector<HistogramImpl> allHistograms_;
}; };
std::shared_ptr<Statistics> CreateDBStatistics() {
return std::make_shared<DBStatistics>();
}
} // namespace leveldb } // namespace leveldb
#endif // LEVELDB_STORAGE_DB_DB_STATISTICS_H_ #endif // LEVELDB_STORAGE_DB_DB_STATISTICS_H_

@ -128,6 +128,9 @@ class Statistics {
}; };
// Create a concrete DBStatistics object
std::shared_ptr<Statistics> CreateDBStatistics();
// Ease of Use functions // Ease of Use functions
inline void RecordTick(std::shared_ptr<Statistics> statistics, inline void RecordTick(std::shared_ptr<Statistics> statistics,
Tickers ticker, Tickers ticker,

@ -1081,7 +1081,7 @@ int main(int argc, char** argv) {
} else if (sscanf(argv[i], "--statistics=%d%c", &n, &junk) == 1 && } else if (sscanf(argv[i], "--statistics=%d%c", &n, &junk) == 1 &&
(n == 0 || n == 1)) { (n == 0 || n == 1)) {
if (n == 1) { if (n == 1) {
dbstats.reset(new leveldb::DBStatistics()); dbstats = leveldb::CreateDBStatistics();
} }
} else if (sscanf(argv[i], "--sync=%d%c", &n, &junk) == 1 && } else if (sscanf(argv[i], "--sync=%d%c", &n, &junk) == 1 &&
(n == 0 || n == 1)) { (n == 0 || n == 1)) {

Loading…
Cancel
Save