]>
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 | ||
1e59de90 TL |
8 | #include <cstdint> |
9 | ||
f67539c2 TL |
10 | #include "rocksdb/rocksdb_namespace.h" |
11 | ||
1e59de90 TL |
12 | namespace ROCKSDB_NAMESPACE { |
13 | ||
7c673cae FG |
14 | struct CompactionIterationStats { |
15 | // Compaction statistics | |
16 | ||
17 | // Doesn't include records skipped because of | |
18 | // CompactionFilter::Decision::kRemoveAndSkipUntil. | |
19 | int64_t num_record_drop_user = 0; | |
20 | ||
21 | int64_t num_record_drop_hidden = 0; | |
22 | int64_t num_record_drop_obsolete = 0; | |
23 | int64_t num_record_drop_range_del = 0; | |
24 | int64_t num_range_del_drop_obsolete = 0; | |
11fdf7f2 TL |
25 | // Deletions obsoleted before bottom level due to file gap optimization. |
26 | int64_t num_optimized_del_drop_obsolete = 0; | |
7c673cae FG |
27 | uint64_t total_filter_time = 0; |
28 | ||
29 | // Input statistics | |
30 | // TODO(noetzli): The stats are incomplete. They are lacking everything | |
31 | // consumed by MergeHelper. | |
32 | uint64_t num_input_records = 0; | |
33 | uint64_t num_input_deletion_records = 0; | |
34 | uint64_t num_input_corrupt_records = 0; | |
35 | uint64_t total_input_raw_key_bytes = 0; | |
36 | uint64_t total_input_raw_value_bytes = 0; | |
37 | ||
38 | // Single-Delete diagnostics for exceptional situations | |
39 | uint64_t num_single_del_fallthru = 0; | |
40 | uint64_t num_single_del_mismatch = 0; | |
1e59de90 TL |
41 | |
42 | // Blob related statistics | |
43 | uint64_t num_blobs_read = 0; | |
44 | uint64_t total_blob_bytes_read = 0; | |
45 | uint64_t num_blobs_relocated = 0; | |
46 | uint64_t total_blob_bytes_relocated = 0; | |
7c673cae | 47 | }; |
1e59de90 TL |
48 | |
49 | } // namespace ROCKSDB_NAMESPACE |