]>
Commit | Line | Data |
---|---|---|
7c673cae | 1 | // Copyright (c) 2016-present, Facebook, Inc. All rights reserved. |
11fdf7f2 TL |
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). | |
7c673cae FG |
5 | |
6 | #pragma once | |
7 | ||
8 | struct CompactionIterationStats { | |
9 | // Compaction statistics | |
10 | ||
11 | // Doesn't include records skipped because of | |
12 | // CompactionFilter::Decision::kRemoveAndSkipUntil. | |
13 | int64_t num_record_drop_user = 0; | |
14 | ||
15 | int64_t num_record_drop_hidden = 0; | |
16 | int64_t num_record_drop_obsolete = 0; | |
17 | int64_t num_record_drop_range_del = 0; | |
18 | int64_t num_range_del_drop_obsolete = 0; | |
11fdf7f2 TL |
19 | // Deletions obsoleted before bottom level due to file gap optimization. |
20 | int64_t num_optimized_del_drop_obsolete = 0; | |
7c673cae FG |
21 | uint64_t total_filter_time = 0; |
22 | ||
23 | // Input statistics | |
24 | // TODO(noetzli): The stats are incomplete. They are lacking everything | |
25 | // consumed by MergeHelper. | |
26 | uint64_t num_input_records = 0; | |
27 | uint64_t num_input_deletion_records = 0; | |
28 | uint64_t num_input_corrupt_records = 0; | |
29 | uint64_t total_input_raw_key_bytes = 0; | |
30 | uint64_t total_input_raw_value_bytes = 0; | |
31 | ||
32 | // Single-Delete diagnostics for exceptional situations | |
33 | uint64_t num_single_del_fallthru = 0; | |
34 | uint64_t num_single_del_mismatch = 0; | |
35 | }; |