fe5c6321cb
Summary: Allow EventListener::OnCompactionCompleted to return CompactionJobStats, which contains useful information about a compaction. Example CompactionJobStats returned by OnCompactionCompleted(): smallest_output_key_prefix 05000000 largest_output_key_prefix 06990000 elapsed_time 42419 num_input_records 300 num_input_files 3 num_input_files_at_output_level 2 num_output_records 200 num_output_files 1 actual_bytes_input 167200 actual_bytes_output 110688 total_input_raw_key_bytes 5400 total_input_raw_value_bytes 300000 num_records_replaced 100 is_manual_compaction 1 Test Plan: Developed a mega test in db_test which covers 20 variables in CompactionJobStats. Reviewers: rven, igor, anthony, sdong Reviewed By: sdong Subscribers: tnovak, dhruba, leveldb Differential Revision: https://reviews.facebook.net/D38463
45 lines
949 B
C++
45 lines
949 B
C++
// Copyright (c) 2013, Facebook, Inc. All rights reserved.
|
|
// This source code is licensed under the BSD-style license found in the
|
|
// LICENSE file in the root directory of this source tree. An additional grant
|
|
// of patent rights can be found in the PATENTS file in the same directory.
|
|
|
|
#include <cstring>
|
|
#include "include/rocksdb/compaction_job_stats.h"
|
|
|
|
namespace rocksdb {
|
|
|
|
#ifndef ROCKSDB_LITE
|
|
|
|
void CompactionJobStats::Reset() {
|
|
elapsed_micros = 0;
|
|
|
|
num_input_files = 0;
|
|
num_input_files_at_output_level = 0;
|
|
num_output_files = 0;
|
|
|
|
num_input_records = 0;
|
|
num_output_records = 0;
|
|
|
|
total_input_bytes = 0;
|
|
total_output_bytes = 0;
|
|
|
|
total_input_raw_key_bytes = 0;
|
|
total_input_raw_value_bytes = 0;
|
|
|
|
num_records_replaced = 0;
|
|
|
|
is_manual_compaction = 0;
|
|
|
|
smallest_output_key_prefix[0] = 0;
|
|
largest_output_key_prefix[0] = 0;
|
|
}
|
|
|
|
#else
|
|
|
|
void CompactionJobStats::Reset() {
|
|
}
|
|
|
|
#endif // !ROCKSDB_LITE
|
|
|
|
} // namespace rocksdb
|