Skip to content

Commit afcda27

Browse files
committed
Internal stats pass through
1 parent 5938ad2 commit afcda27

8 files changed

+34
-22
lines changed

db/builder.cc

+1
Original file line numberDiff line numberDiff line change
@@ -421,6 +421,7 @@ Status BuildTable(
421421
std::unique_ptr<InternalIterator> it(table_cache->NewIterator(
422422
tboptions.read_options, file_options, tboptions.internal_comparator,
423423
*meta, nullptr /* range_del_agg */, mutable_cf_options, nullptr,
424+
(internal_stats == nullptr) ? nullptr : nullptr,
424425
(internal_stats == nullptr) ? nullptr
425426
: internal_stats->GetFileReadHist(0),
426427
TableReaderCaller::kFlush, /*arena=*/nullptr,

db/column_family.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,7 @@ class ColumnFamilyData {
370370
const DBOptions& db_options,
371371
const std::unordered_map<std::string, std::string>& options_map);
372372

373-
InternalStats* internal_stats() { return internal_stats_.get(); }
373+
InternalStats* internal_stats() const { return internal_stats_.get(); }
374374

375375
MemTableList* imm() { return &imm_; }
376376
MemTable* mem() { return mem_; }

db/compaction/compaction_job.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -781,7 +781,7 @@ Status CompactionJob::Run() {
781781
cfd->internal_comparator(), files_output[file_idx]->meta,
782782
/*range_del_agg=*/nullptr,
783783
*compact_->compaction->mutable_cf_options(),
784-
/*table_reader_ptr=*/nullptr,
784+
/*table_reader_ptr=*/nullptr, cfd->internal_stats(),
785785
cfd->internal_stats()->GetFileReadHist(
786786
compact_->compaction->output_level()),
787787
TableReaderCaller::kCompactionRefill, /*arena=*/nullptr,

db/forward_iterator.cc

+10-6
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ class ForwardLevelIterator : public InternalIterator {
8383
*files_[file_index_],
8484
read_options_.ignore_range_deletions ? nullptr : &range_del_agg,
8585
mutable_cf_options_, /*table_reader_ptr=*/nullptr,
86+
cfd_->internal_stats(),
8687
/*file_read_hist=*/nullptr, TableReaderCaller::kUserIterator,
8788
/*arena=*/nullptr, /*skip_filters=*/false, /*level=*/-1,
8889
/*max_file_size_for_l0_meta_pin=*/0,
@@ -749,8 +750,9 @@ void ForwardIterator::RebuildIterators(bool refresh_sv) {
749750
read_options_, *cfd_->soptions(), cfd_->internal_comparator(), *l0,
750751
read_options_.ignore_range_deletions ? nullptr : &range_del_agg,
751752
sv_->mutable_cf_options,
752-
/*table_reader_ptr=*/nullptr, /*file_read_hist=*/nullptr,
753-
TableReaderCaller::kUserIterator, /*arena=*/nullptr,
753+
/*table_reader_ptr=*/nullptr, cfd_->internal_stats(),
754+
/*file_read_hist=*/nullptr, TableReaderCaller::kUserIterator,
755+
/*arena=*/nullptr,
754756
/*skip_filters=*/false, /*level=*/-1,
755757
MaxFileSizeForL0MetaPin(sv_->mutable_cf_options),
756758
/*smallest_compaction_key=*/nullptr,
@@ -837,8 +839,9 @@ void ForwardIterator::RenewIterators() {
837839
*l0_files_new[inew],
838840
read_options_.ignore_range_deletions ? nullptr : &range_del_agg,
839841
svnew->mutable_cf_options,
840-
/*table_reader_ptr=*/nullptr, /*file_read_hist=*/nullptr,
841-
TableReaderCaller::kUserIterator, /*arena=*/nullptr,
842+
/*table_reader_ptr=*/nullptr, cfd_->internal_stats(),
843+
/*file_read_hist=*/nullptr, TableReaderCaller::kUserIterator,
844+
/*arena=*/nullptr,
842845
/*skip_filters=*/false, /*level=*/-1,
843846
MaxFileSizeForL0MetaPin(svnew->mutable_cf_options),
844847
/*smallest_compaction_key=*/nullptr,
@@ -902,8 +905,9 @@ void ForwardIterator::ResetIncompleteIterators() {
902905
l0_iters_[i] = cfd_->table_cache()->NewIterator(
903906
read_options_, *cfd_->soptions(), cfd_->internal_comparator(),
904907
*l0_files[i], /*range_del_agg=*/nullptr, sv_->mutable_cf_options,
905-
/*table_reader_ptr=*/nullptr, /*file_read_hist=*/nullptr,
906-
TableReaderCaller::kUserIterator, /*arena=*/nullptr,
908+
/*table_reader_ptr=*/nullptr, cfd_->internal_stats(),
909+
/*file_read_hist=*/nullptr, TableReaderCaller::kUserIterator,
910+
/*arena=*/nullptr,
907911
/*skip_filters=*/false, /*level=*/-1,
908912
MaxFileSizeForL0MetaPin(sv_->mutable_cf_options),
909913
/*smallest_compaction_key=*/nullptr,

db/repair.cc

+3-2
Original file line numberDiff line numberDiff line change
@@ -606,8 +606,9 @@ class Repairer {
606606
InternalIterator* iter = table_cache_->NewIterator(
607607
ropts, file_options_, cfd->internal_comparator(), t->meta,
608608
nullptr /* range_del_agg */, *cfd->GetLatestMutableCFOptions(),
609-
/*table_reader_ptr=*/nullptr, /*file_read_hist=*/nullptr,
610-
TableReaderCaller::kRepair, /*arena=*/nullptr, /*skip_filters=*/false,
609+
/*table_reader_ptr=*/nullptr, cfd->internal_stats(),
610+
/*file_read_hist=*/nullptr, TableReaderCaller::kRepair,
611+
/*arena=*/nullptr, /*skip_filters=*/false,
611612
/*level=*/-1, /*max_file_size_for_l0_meta_pin=*/0,
612613
/*smallest_compaction_key=*/nullptr,
613614
/*largest_compaction_key=*/nullptr,

db/table_cache.cc

+3-2
Original file line numberDiff line numberDiff line change
@@ -222,8 +222,9 @@ InternalIterator* TableCache::NewIterator(
222222
const InternalKeyComparator& icomparator, const FileMetaData& file_meta,
223223
RangeDelAggregator* range_del_agg,
224224
const MutableCFOptions& mutable_cf_options, TableReader** table_reader_ptr,
225-
HistogramImpl* file_read_hist, TableReaderCaller caller, Arena* arena,
226-
bool skip_filters, int level, size_t max_file_size_for_l0_meta_pin,
225+
InternalStats* internal_stats, HistogramImpl* file_read_hist,
226+
TableReaderCaller caller, Arena* arena, bool skip_filters, int level,
227+
size_t max_file_size_for_l0_meta_pin,
227228
const InternalKey* smallest_compaction_key,
228229
const InternalKey* largest_compaction_key, bool allow_unprepared_value,
229230
const SequenceNumber* read_seqno,

db/table_cache.h

+4-3
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
#include "cache/typed_cache.h"
1818
#include "db/dbformat.h"
19+
#include "db/internal_stats.h"
1920
#include "db/range_del_aggregator.h"
2021
#include "options/cf_options.h"
2122
#include "port/port.h"
@@ -93,9 +94,9 @@ class TableCache {
9394
const InternalKeyComparator& internal_comparator,
9495
const FileMetaData& file_meta, RangeDelAggregator* range_del_agg,
9596
const MutableCFOptions& mutable_cf_options,
96-
TableReader** table_reader_ptr, HistogramImpl* file_read_hist,
97-
TableReaderCaller caller, Arena* arena, bool skip_filters, int level,
98-
size_t max_file_size_for_l0_meta_pin,
97+
TableReader** table_reader_ptr, InternalStats* internal_stats,
98+
HistogramImpl* file_read_hist, TableReaderCaller caller, Arena* arena,
99+
bool skip_filters, int level, size_t max_file_size_for_l0_meta_pin,
99100
const InternalKey* smallest_compaction_key,
100101
const InternalKey* largest_compaction_key, bool allow_unprepared_value,
101102
const SequenceNumber* range_del_read_seqno = nullptr,

db/version_set.cc

+11-7
Original file line numberDiff line numberDiff line change
@@ -971,9 +971,9 @@ class LevelIterator final : public InternalIterator {
971971
TableCache* table_cache, const ReadOptions& read_options,
972972
const FileOptions& file_options, const InternalKeyComparator& icomparator,
973973
const LevelFilesBrief* flevel, const MutableCFOptions& mutable_cf_options,
974-
bool should_sample, HistogramImpl* file_read_hist,
975-
TableReaderCaller caller, bool skip_filters, int level,
976-
RangeDelAggregator* range_del_agg,
974+
bool should_sample, InternalStats* internal_stats,
975+
HistogramImpl* file_read_hist, TableReaderCaller caller,
976+
bool skip_filters, int level, RangeDelAggregator* range_del_agg,
977977
const std::vector<AtomicCompactionUnitBoundary>* compaction_boundaries =
978978
nullptr,
979979
bool allow_unprepared_value = false,
@@ -987,6 +987,7 @@ class LevelIterator final : public InternalIterator {
987987
flevel_(flevel),
988988
mutable_cf_options_(mutable_cf_options),
989989
prefix_extractor_(mutable_cf_options.prefix_extractor.get()),
990+
internal_stats_(internal_stats),
990991
file_read_hist_(file_read_hist),
991992
caller_(caller),
992993
file_index_(flevel_->num_files),
@@ -1149,7 +1150,8 @@ class LevelIterator final : public InternalIterator {
11491150
return table_cache_->NewIterator(
11501151
read_options_, file_options_, icomparator_, *file_meta.file_metadata,
11511152
range_del_agg_, mutable_cf_options_,
1152-
nullptr /* don't need reference to table */, file_read_hist_, caller_,
1153+
nullptr /* don't need reference to table */, internal_stats_,
1154+
file_read_hist_, caller_,
11531155
/*arena=*/nullptr, skip_filters_, level_,
11541156
/*max_file_size_for_l0_meta_pin=*/0, smallest_compaction_key,
11551157
largest_compaction_key, allow_unprepared_value_, &read_seq_,
@@ -1180,6 +1182,7 @@ class LevelIterator final : public InternalIterator {
11801182
const MutableCFOptions& mutable_cf_options_;
11811183
const SliceTransform* prefix_extractor_;
11821184

1185+
InternalStats* internal_stats_;
11831186
HistogramImpl* file_read_hist_;
11841187
TableReaderCaller caller_;
11851188
size_t file_index_;
@@ -2038,7 +2041,8 @@ void Version::AddIteratorsForLevel(const ReadOptions& read_options,
20382041
auto table_iter = cfd_->table_cache()->NewIterator(
20392042
read_options, soptions, cfd_->internal_comparator(),
20402043
*file.file_metadata, /*range_del_agg=*/nullptr, mutable_cf_options_,
2041-
nullptr, cfd_->internal_stats()->GetFileReadHist(0),
2044+
nullptr, cfd_->internal_stats(),
2045+
cfd_->internal_stats()->GetFileReadHist(0),
20422046
TableReaderCaller::kUserIterator, arena,
20432047
/*skip_filters=*/false, /*level=*/0, max_file_size_for_l0_meta_pin_,
20442048
/*smallest_compaction_key=*/nullptr,
@@ -2111,7 +2115,7 @@ Status Version::OverlapWithLevelIterator(const ReadOptions& read_options,
21112115
ScopedArenaPtr<InternalIterator> iter(cfd_->table_cache()->NewIterator(
21122116
read_options, file_options, cfd_->internal_comparator(),
21132117
*file->file_metadata, &range_del_agg, mutable_cf_options_, nullptr,
2114-
cfd_->internal_stats()->GetFileReadHist(0),
2118+
cfd_->internal_stats(), cfd_->internal_stats()->GetFileReadHist(0),
21152119
TableReaderCaller::kUserIterator, &arena,
21162120
/*skip_filters=*/false, /*level=*/0, max_file_size_for_l0_meta_pin_,
21172121
/*smallest_compaction_key=*/nullptr,
@@ -7086,7 +7090,7 @@ InternalIterator* VersionSet::MakeInputIterator(
70867090
read_options, file_options_compactions,
70877091
cfd->internal_comparator(), fmd, range_del_agg,
70887092
*c->mutable_cf_options(),
7089-
/*table_reader_ptr=*/nullptr,
7093+
/*table_reader_ptr=*/nullptr, cfd->internal_stats(),
70907094
/*file_read_hist=*/nullptr, TableReaderCaller::kCompaction,
70917095
/*arena=*/nullptr,
70927096
/*skip_filters=*/false,

0 commit comments

Comments
 (0)