Summary: $title Test Plan: db_bench --statistics=1 Reviewers: haobo Reviewed By: haobo CC: leveldb Differential Revision: https://reviews.facebook.net/D11373main
parent
09de7a3b6a
commit
5ef6bb8c37
@ -0,0 +1,55 @@ |
||||
#include "leveldb/statistics.h" |
||||
#include <cstdio> |
||||
|
||||
namespace leveldb { |
||||
|
||||
namespace { |
||||
// a buffer size used for temp string buffers
|
||||
const int kBufferSize = 200; |
||||
|
||||
std::string HistogramToString ( |
||||
Statistics* dbstats, |
||||
const Histograms& histogram_type, |
||||
const std::string& name) { |
||||
|
||||
char buffer[kBufferSize]; |
||||
HistogramData histogramData; |
||||
dbstats->histogramData(histogram_type, &histogramData); |
||||
snprintf( |
||||
buffer, |
||||
kBufferSize, |
||||
"%s statistics Percentiles :=> 50 : %f 95 : %f 99 : %f\n", |
||||
name.c_str(), |
||||
histogramData.median, |
||||
histogramData.percentile95, |
||||
histogramData.percentile99 |
||||
); |
||||
return std::string(buffer); |
||||
}; |
||||
|
||||
std::string TickerToString ( |
||||
Statistics* dbstats, |
||||
const Tickers& ticker, |
||||
const std::string& name) { |
||||
|
||||
char buffer[kBufferSize]; |
||||
snprintf(buffer, kBufferSize, "%s COUNT : %ld\n", |
||||
name.c_str(), dbstats->getTickerCount(ticker)); |
||||
return std::string(buffer); |
||||
}; |
||||
} // namespace
|
||||
|
||||
std::string Statistics::ToString() { |
||||
std::string res; |
||||
res.reserve(20000); |
||||
for (const auto& t : TickersNameMap) { |
||||
res.append(TickerToString(this, t.first, t.second)); |
||||
} |
||||
for (const auto& h : HistogramsNameMap) { |
||||
res.append(HistogramToString(this, h.first, h.second)); |
||||
} |
||||
res.shrink_to_fit(); |
||||
return res; |
||||
} |
||||
|
||||
} // namespace leveldb
|
Loading…
Reference in new issue