diff --git a/be/src/olap/rowset/beta_rowset_reader.cpp b/be/src/olap/rowset/beta_rowset_reader.cpp index 7a41302d3e..c56345eacb 100644 --- a/be/src/olap/rowset/beta_rowset_reader.cpp +++ b/be/src/olap/rowset/beta_rowset_reader.cpp @@ -42,6 +42,13 @@ void BetaRowsetReader::reset_read_options() { _read_options.key_ranges.clear(); } +bool BetaRowsetReader::update_profile(RuntimeProfile* profile) { + if (_iterator != nullptr) { + return _iterator->update_profile(profile); + } + return false; +} + Status BetaRowsetReader::get_segment_iterators(RowsetReaderContext* read_context, std::vector* out_iters) { RETURN_NOT_OK(_rowset->load()); diff --git a/be/src/olap/rowset/beta_rowset_reader.h b/be/src/olap/rowset/beta_rowset_reader.h index 5082be1ee8..889a7c2742 100644 --- a/be/src/olap/rowset/beta_rowset_reader.h +++ b/be/src/olap/rowset/beta_rowset_reader.h @@ -64,12 +64,7 @@ public: Status get_segment_num_rows(std::vector* segment_num_rows) override; - bool update_profile(RuntimeProfile* profile) override { - if (_iterator != nullptr) { - return _iterator->update_profile(profile); - } - return false; - } + bool update_profile(RuntimeProfile* profile) override; private: bool _should_push_down_value_predicates() const; diff --git a/be/src/vec/exec/scan/new_olap_scanner.cpp b/be/src/vec/exec/scan/new_olap_scanner.cpp index dc5038d049..100a8fd587 100644 --- a/be/src/vec/exec/scan/new_olap_scanner.cpp +++ b/be/src/vec/exec/scan/new_olap_scanner.cpp @@ -33,6 +33,20 @@ NewOlapScanner::NewOlapScanner(RuntimeState* state, NewOlapScanNode* parent, int _tablet_schema = std::make_shared(); } +static std::string read_columns_to_string(TabletSchemaSPtr tablet_schema, + const std::vector& read_columns) { + std::string read_columns_string; + read_columns_string += "["; + for (auto it = read_columns.cbegin(); it != read_columns.cend(); it++) { + if (it != read_columns.cbegin()) { + read_columns_string += ", "; + } + read_columns_string += tablet_schema->columns().at(*it).name(); + } + read_columns_string += "]"; + return read_columns_string; +} + Status NewOlapScanner::prepare(const TPaloScanRange& scan_range, const std::vector& key_ranges, VExprContext** vconjunct_ctx_ptr, @@ -108,6 +122,12 @@ Status NewOlapScanner::prepare(const TPaloScanRange& scan_range, } } + // add read columns in profile + if (_state->enable_profile()) { + _profile->add_info_string("ReadColumns", + read_columns_to_string(_tablet_schema, _return_columns)); + } + return Status::OK(); }