Commit 6ddad5cb authored by Huachao Huang's avatar Huachao Huang Committed by zhangjinpeng1987

Add reset statistics method (#149)

parent 61d419d3
......@@ -1949,6 +1949,10 @@ void crocksdb_options_enable_statistics(crocksdb_options_t* opt) {
opt->rep.statistics = rocksdb::CreateDBStatistics();
}
void crocksdb_options_reset_statistics(crocksdb_options_t* opt) {
opt->rep.statistics->Reset();
}
void crocksdb_options_set_num_levels(crocksdb_options_t* opt, int n) {
opt->rep.num_levels = n;
}
......
......@@ -787,6 +787,8 @@ crocksdb_options_set_max_bytes_for_level_multiplier_additional(
crocksdb_options_t*, int* level_values, size_t num_levels);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_enable_statistics(
crocksdb_options_t*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_reset_statistics(
crocksdb_options_t*);
/* returns a pointer to a malloc()-ed, null terminated string */
extern C_ROCKSDB_LIBRARY_API char* crocksdb_options_statistics_get_string(
......
......@@ -450,6 +450,7 @@ extern "C" {
pub fn crocksdb_options_set_max_subcompactions(options: *mut Options, v: u32);
pub fn crocksdb_options_set_wal_bytes_per_sync(options: *mut Options, v: u64);
pub fn crocksdb_options_enable_statistics(options: *mut Options);
pub fn crocksdb_options_reset_statistics(options: *mut Options);
pub fn crocksdb_options_statistics_get_string(options: *mut Options) -> *const c_char;
pub fn crocksdb_options_statistics_get_ticker_count(
options: *mut Options,
......
......@@ -1124,6 +1124,10 @@ impl DB {
self.opts.get_statistics()
}
pub fn reset_statistics(&self) {
self.opts.reset_statistics();
}
pub fn get_statistics_ticker_count(&self, ticker_type: DBStatisticsTickerType) -> u64 {
self.opts.get_statistics_ticker_count(ticker_type)
}
......
......@@ -672,6 +672,12 @@ impl DBOptions {
}
}
pub fn reset_statistics(&self) {
unsafe {
crocksdb_ffi::crocksdb_options_reset_statistics(self.inner);
}
}
pub fn set_stats_dump_period_sec(&mut self, period: usize) {
unsafe {
crocksdb_ffi::crocksdb_options_set_stats_dump_period_sec(self.inner, period);
......
......@@ -43,4 +43,12 @@ fn test_db_statistics() {
db.get_statistics_histogram(HistogramType::GetMicros)
.is_some()
);
let get_micros = db.get_statistics_histogram(HistogramType::GetMicros)
.unwrap();
assert!(get_micros.max > 0.0);
db.reset_statistics();
let get_micros = db.get_statistics_histogram(HistogramType::GetMicros)
.unwrap();
assert_eq!(get_micros.max, 0.0);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment