This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch branch-2.1 in repository https://gitbox.apache.org/repos/asf/doris.git
commit ceedc26720265f7afa5e026371d3b0b5d7683f34 Author: huanghaibin <[email protected]> AuthorDate: Tue Apr 16 10:09:49 2024 +0800 [improvement](mow) Add profile for delete_bitmap get_agg function (#33576) --- be/src/olap/olap_common.h | 1 + be/src/olap/rowset/beta_rowset_reader.cpp | 1 + be/src/pipeline/exec/olap_scan_operator.cpp | 1 + be/src/pipeline/exec/olap_scan_operator.h | 1 + be/src/vec/exec/scan/new_olap_scan_node.cpp | 1 + be/src/vec/exec/scan/new_olap_scan_node.h | 1 + be/src/vec/exec/scan/new_olap_scanner.cpp | 1 + 7 files changed, 7 insertions(+) diff --git a/be/src/olap/olap_common.h b/be/src/olap/olap_common.h index 27a71a56b14..782ebb5a60f 100644 --- a/be/src/olap/olap_common.h +++ b/be/src/olap/olap_common.h @@ -372,6 +372,7 @@ struct OlapReaderStatistics { int64_t collect_iterator_merge_next_timer = 0; int64_t collect_iterator_normal_next_timer = 0; + int64_t delete_bitmap_get_agg_ns = 0; }; using ColumnId = uint32_t; diff --git a/be/src/olap/rowset/beta_rowset_reader.cpp b/be/src/olap/rowset/beta_rowset_reader.cpp index bfc2b95bc42..c19c8ece353 100644 --- a/be/src/olap/rowset/beta_rowset_reader.cpp +++ b/be/src/olap/rowset/beta_rowset_reader.cpp @@ -185,6 +185,7 @@ Status BetaRowsetReader::get_segment_iterators(RowsetReaderContext* read_context // Take a delete-bitmap for each segment, the bitmap contains all deletes // until the max read version, which is read_context->version.second if (_read_context->delete_bitmap != nullptr) { + SCOPED_RAW_TIMER(&_stats->delete_bitmap_get_agg_ns); RowsetId rowset_id = rowset()->rowset_id(); for (uint32_t seg_id = 0; seg_id < rowset()->num_segments(); ++seg_id) { auto d = _read_context->delete_bitmap->get_agg( diff --git a/be/src/pipeline/exec/olap_scan_operator.cpp b/be/src/pipeline/exec/olap_scan_operator.cpp index 5fbc657c78a..c8a9aa3f85d 100644 --- a/be/src/pipeline/exec/olap_scan_operator.cpp +++ b/be/src/pipeline/exec/olap_scan_operator.cpp @@ -56,6 +56,7 @@ Status OlapScanLocalState::_init_profile() { _block_load_timer = ADD_TIMER(_segment_profile, "BlockLoadTime"); _block_load_counter = ADD_COUNTER(_segment_profile, "BlocksLoad", TUnit::UNIT); _block_fetch_timer = ADD_TIMER(_scanner_profile, "BlockFetchTime"); + _delete_bitmap_get_agg_timer = ADD_TIMER(_scanner_profile, "DeleteBitmapGetAggTime"); _raw_rows_counter = ADD_COUNTER(_segment_profile, "RawRowsRead", TUnit::UNIT); _block_convert_timer = ADD_TIMER(_scanner_profile, "BlockConvertTime"); _block_init_timer = ADD_TIMER(_segment_profile, "BlockInitTime"); diff --git a/be/src/pipeline/exec/olap_scan_operator.h b/be/src/pipeline/exec/olap_scan_operator.h index cc516780c09..8ec318e853b 100644 --- a/be/src/pipeline/exec/olap_scan_operator.h +++ b/be/src/pipeline/exec/olap_scan_operator.h @@ -135,6 +135,7 @@ private: RuntimeProfile::Counter* _key_range_filtered_counter = nullptr; RuntimeProfile::Counter* _block_fetch_timer = nullptr; + RuntimeProfile::Counter* _delete_bitmap_get_agg_timer = nullptr; RuntimeProfile::Counter* _block_load_timer = nullptr; RuntimeProfile::Counter* _block_load_counter = nullptr; // Add more detail seek timer and counter profile diff --git a/be/src/vec/exec/scan/new_olap_scan_node.cpp b/be/src/vec/exec/scan/new_olap_scan_node.cpp index 65b8326d665..bfbd21b79f8 100644 --- a/be/src/vec/exec/scan/new_olap_scan_node.cpp +++ b/be/src/vec/exec/scan/new_olap_scan_node.cpp @@ -105,6 +105,7 @@ Status NewOlapScanNode::_init_profile() { _block_load_timer = ADD_TIMER(_segment_profile, "BlockLoadTime"); _block_load_counter = ADD_COUNTER(_segment_profile, "BlocksLoad", TUnit::UNIT); _block_fetch_timer = ADD_TIMER(_scanner_profile, "BlockFetchTime"); + _delete_bitmap_get_agg_timer = ADD_TIMER(_scanner_profile, "DeleteBitmapGetAggTime"); _raw_rows_counter = ADD_COUNTER(_segment_profile, "RawRowsRead", TUnit::UNIT); _block_convert_timer = ADD_TIMER(_scanner_profile, "BlockConvertTime"); _block_init_timer = ADD_TIMER(_segment_profile, "BlockInitTime"); diff --git a/be/src/vec/exec/scan/new_olap_scan_node.h b/be/src/vec/exec/scan/new_olap_scan_node.h index 0094b0e78b9..0b09e8b19b8 100644 --- a/be/src/vec/exec/scan/new_olap_scan_node.h +++ b/be/src/vec/exec/scan/new_olap_scan_node.h @@ -160,6 +160,7 @@ private: RuntimeProfile::Counter* _key_range_filtered_counter = nullptr; RuntimeProfile::Counter* _block_fetch_timer = nullptr; + RuntimeProfile::Counter* _delete_bitmap_get_agg_timer = nullptr; RuntimeProfile::Counter* _block_load_timer = nullptr; RuntimeProfile::Counter* _block_load_counter = nullptr; // Add more detail seek timer and counter profile diff --git a/be/src/vec/exec/scan/new_olap_scanner.cpp b/be/src/vec/exec/scan/new_olap_scanner.cpp index e816237984e..8f3163c36c4 100644 --- a/be/src/vec/exec/scan/new_olap_scanner.cpp +++ b/be/src/vec/exec/scan/new_olap_scanner.cpp @@ -577,6 +577,7 @@ void NewOlapScanner::_collect_profile_before_close() { COUNTER_UPDATE(Parent->_block_load_timer, stats.block_load_ns); \ COUNTER_UPDATE(Parent->_block_load_counter, stats.blocks_load); \ COUNTER_UPDATE(Parent->_block_fetch_timer, stats.block_fetch_ns); \ + COUNTER_UPDATE(Parent->_delete_bitmap_get_agg_timer, stats.delete_bitmap_get_agg_ns); \ COUNTER_UPDATE(Parent->_block_convert_timer, stats.block_convert_ns); \ COUNTER_UPDATE(Parent->_raw_rows_counter, stats.raw_rows_read); \ _raw_rows_read += _tablet_reader->mutable_stats()->raw_rows_read; \ --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
