This is an automated email from the ASF dual-hosted git repository. dataroaring pushed a commit to branch branch-3.0 in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-3.0 by this push: new c0fa9b717ad branch-3.0-pick: [Opt](profile) Add timer for `SegmentIterator::_get_row_ranges_by_keys` (#48191) (#48343) c0fa9b717ad is described below commit c0fa9b717adf03f79a1964a46e1da86b82bf2c1f Author: bobhan1 <bao...@selectdb.com> AuthorDate: Thu Feb 27 10:49:16 2025 +0800 branch-3.0-pick: [Opt](profile) Add timer for `SegmentIterator::_get_row_ranges_by_keys` (#48191) (#48343) pick https://github.com/apache/doris/pull/48191 --- be/src/olap/olap_common.h | 3 ++- be/src/olap/rowset/segment_v2/segment_iterator.cpp | 3 ++- be/src/pipeline/exec/olap_scan_operator.cpp | 5 ++++- be/src/pipeline/exec/olap_scan_operator.h | 3 ++- be/src/vec/exec/scan/new_olap_scanner.cpp | 5 ++++- 5 files changed, 14 insertions(+), 5 deletions(-) diff --git a/be/src/olap/olap_common.h b/be/src/olap/olap_common.h index bb20c4c0a7b..9ffac13022d 100644 --- a/be/src/olap/olap_common.h +++ b/be/src/olap/olap_common.h @@ -350,7 +350,8 @@ struct OlapReaderStatistics { int64_t rows_del_by_bitmap = 0; // the number of rows filtered by various column indexes. int64_t rows_conditions_filtered = 0; - int64_t generate_row_ranges_ns = 0; + int64_t generate_row_ranges_by_keys_ns = 0; + int64_t generate_row_ranges_by_column_conditions_ns = 0; int64_t generate_row_ranges_by_bf_ns = 0; int64_t generate_row_ranges_by_zonemap_ns = 0; int64_t generate_row_ranges_by_dict_ns = 0; diff --git a/be/src/olap/rowset/segment_v2/segment_iterator.cpp b/be/src/olap/rowset/segment_v2/segment_iterator.cpp index 5ee9ac1ca41..d4827ac2d4b 100644 --- a/be/src/olap/rowset/segment_v2/segment_iterator.cpp +++ b/be/src/olap/rowset/segment_v2/segment_iterator.cpp @@ -406,6 +406,7 @@ Status SegmentIterator::_lazy_init() { } Status SegmentIterator::_get_row_ranges_by_keys() { + SCOPED_RAW_TIMER(&_opts.stats->generate_row_ranges_by_keys_ns); DorisMetrics::instance()->segment_row_total->increment(num_rows()); // fast path for empty segment or empty key ranges @@ -498,7 +499,7 @@ Status SegmentIterator::_prepare_seek(const StorageReadOptions::KeyRange& key_ra } Status SegmentIterator::_get_row_ranges_by_column_conditions() { - SCOPED_RAW_TIMER(&_opts.stats->generate_row_ranges_ns); + SCOPED_RAW_TIMER(&_opts.stats->generate_row_ranges_by_column_conditions_ns); if (_row_bitmap.isEmpty()) { return Status::OK(); } diff --git a/be/src/pipeline/exec/olap_scan_operator.cpp b/be/src/pipeline/exec/olap_scan_operator.cpp index ce43ce0feab..e85d4ac14a4 100644 --- a/be/src/pipeline/exec/olap_scan_operator.cpp +++ b/be/src/pipeline/exec/olap_scan_operator.cpp @@ -69,7 +69,10 @@ Status OlapScanLocalState::_init_profile() { _block_init_timer = ADD_TIMER(_segment_profile, "BlockInitTime"); _block_init_seek_timer = ADD_TIMER(_segment_profile, "BlockInitSeekTime"); _block_init_seek_counter = ADD_COUNTER(_segment_profile, "BlockInitSeekCount", TUnit::UNIT); - _segment_generate_row_range_timer = ADD_TIMER(_segment_profile, "GenerateRowRangeTime"); + _segment_generate_row_range_by_keys_timer = + ADD_TIMER(_segment_profile, "GenerateRowRangeByKeysTime"); + _segment_generate_row_range_by_column_conditions_timer = + ADD_TIMER(_segment_profile, "GenerateRowRangeByColumnConditionsTime"); _segment_generate_row_range_by_bf_timer = ADD_TIMER(_segment_profile, "GenerateRowRangeByBloomFilterIndexTime"); _collect_iterator_merge_next_timer = ADD_TIMER(_segment_profile, "CollectIteratorMergeTime"); diff --git a/be/src/pipeline/exec/olap_scan_operator.h b/be/src/pipeline/exec/olap_scan_operator.h index d15a61b7d0f..f065cd881cd 100644 --- a/be/src/pipeline/exec/olap_scan_operator.h +++ b/be/src/pipeline/exec/olap_scan_operator.h @@ -138,7 +138,8 @@ private: RuntimeProfile::Counter* _block_init_timer = nullptr; RuntimeProfile::Counter* _block_init_seek_timer = nullptr; RuntimeProfile::Counter* _block_init_seek_counter = nullptr; - RuntimeProfile::Counter* _segment_generate_row_range_timer = nullptr; + RuntimeProfile::Counter* _segment_generate_row_range_by_keys_timer = nullptr; + RuntimeProfile::Counter* _segment_generate_row_range_by_column_conditions_timer = nullptr; RuntimeProfile::Counter* _segment_generate_row_range_by_bf_timer = nullptr; RuntimeProfile::Counter* _collect_iterator_merge_next_timer = nullptr; RuntimeProfile::Counter* _segment_generate_row_range_by_zonemap_timer = nullptr; diff --git a/be/src/vec/exec/scan/new_olap_scanner.cpp b/be/src/vec/exec/scan/new_olap_scanner.cpp index 09103da9481..ac0701f21fa 100644 --- a/be/src/vec/exec/scan/new_olap_scanner.cpp +++ b/be/src/vec/exec/scan/new_olap_scanner.cpp @@ -568,7 +568,10 @@ void NewOlapScanner::_collect_profile_before_close() { COUNTER_UPDATE(Parent->_block_init_timer, stats.block_init_ns); \ COUNTER_UPDATE(Parent->_block_init_seek_timer, stats.block_init_seek_ns); \ COUNTER_UPDATE(Parent->_block_init_seek_counter, stats.block_init_seek_num); \ - COUNTER_UPDATE(Parent->_segment_generate_row_range_timer, stats.generate_row_ranges_ns); \ + COUNTER_UPDATE(Parent->_segment_generate_row_range_by_keys_timer, \ + stats.generate_row_ranges_by_keys_ns); \ + COUNTER_UPDATE(Parent->_segment_generate_row_range_by_column_conditions_timer, \ + stats.generate_row_ranges_by_column_conditions_ns); \ COUNTER_UPDATE(Parent->_segment_generate_row_range_by_bf_timer, \ stats.generate_row_ranges_by_bf_ns); \ COUNTER_UPDATE(Parent->_collect_iterator_merge_next_timer, \ --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org