1 // Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
2 // This source code is licensed under both the GPLv2 (found in the
3 // COPYING file in the root directory) and Apache 2.0 License
4 // (found in the LICENSE.Apache file in the root directory).
6 #include "rocksdb/compaction_job_stats.h"
8 namespace ROCKSDB_NAMESPACE
{
12 void CompactionJobStats::Reset() {
16 num_input_records
= 0;
18 num_input_files_at_output_level
= 0;
20 num_output_records
= 0;
23 is_manual_compaction
= 0;
25 total_input_bytes
= 0;
26 total_output_bytes
= 0;
28 num_records_replaced
= 0;
30 total_input_raw_key_bytes
= 0;
31 total_input_raw_value_bytes
= 0;
33 num_input_deletion_records
= 0;
34 num_expired_deletion_records
= 0;
39 file_range_sync_nanos
= 0;
41 file_prepare_write_nanos
= 0;
43 smallest_output_key_prefix
.clear();
44 largest_output_key_prefix
.clear();
46 num_single_del_fallthru
= 0;
47 num_single_del_mismatch
= 0;
50 void CompactionJobStats::Add(const CompactionJobStats
& stats
) {
51 elapsed_micros
+= stats
.elapsed_micros
;
52 cpu_micros
+= stats
.cpu_micros
;
54 num_input_records
+= stats
.num_input_records
;
55 num_input_files
+= stats
.num_input_files
;
56 num_input_files_at_output_level
+= stats
.num_input_files_at_output_level
;
58 num_output_records
+= stats
.num_output_records
;
59 num_output_files
+= stats
.num_output_files
;
61 total_input_bytes
+= stats
.total_input_bytes
;
62 total_output_bytes
+= stats
.total_output_bytes
;
64 num_records_replaced
+= stats
.num_records_replaced
;
66 total_input_raw_key_bytes
+= stats
.total_input_raw_key_bytes
;
67 total_input_raw_value_bytes
+= stats
.total_input_raw_value_bytes
;
69 num_input_deletion_records
+= stats
.num_input_deletion_records
;
70 num_expired_deletion_records
+= stats
.num_expired_deletion_records
;
72 num_corrupt_keys
+= stats
.num_corrupt_keys
;
74 file_write_nanos
+= stats
.file_write_nanos
;
75 file_range_sync_nanos
+= stats
.file_range_sync_nanos
;
76 file_fsync_nanos
+= stats
.file_fsync_nanos
;
77 file_prepare_write_nanos
+= stats
.file_prepare_write_nanos
;
79 num_single_del_fallthru
+= stats
.num_single_del_fallthru
;
80 num_single_del_mismatch
+= stats
.num_single_del_mismatch
;
85 void CompactionJobStats::Reset() {}
87 void CompactionJobStats::Add(const CompactionJobStats
& /*stats*/) {}
89 #endif // !ROCKSDB_LITE
91 } // namespace ROCKSDB_NAMESPACE