[feature-wip](scan) add profile for new olap scan node (#12042)

Copy most of profiles from VOlapScanNode and VOlapScanner to NewOlapScanNode and NewOlapScanner.
Fix some blocking bug of new scan framework.
TODO:

Memtracker
Opentelemetry spen
The new framework is still disabled by default, so it will not effect other feature.
This commit is contained in:
Mingyu Chen
2022-08-30 10:55:48 +08:00
committed by GitHub
parent 8370115cf6
commit a16cf0e2c8
20 changed files with 475 additions and 66 deletions

View File

@ -180,13 +180,12 @@ void ExecNode::push_down_predicate(RuntimeState* state, std::list<ExprContext*>*
}
Status ExecNode::init(const TPlanNode& tnode, RuntimeState* state) {
std::string profile;
if (state && state->enable_vectorized_exec()) {
profile = "V" + print_plan_node_type(tnode.node_type);
} else {
profile = print_plan_node_type(tnode.node_type);
}
init_runtime_profile(profile);
#ifdef BE_TEST
_is_vec = true;
#else
_is_vec = state->enable_vectorized_exec();
#endif
init_runtime_profile(get_name());
if (tnode.__isset.vconjunct) {
_vconjunct_ctx_ptr.reset(new doris::vectorized::VExprContext*);
@ -766,4 +765,8 @@ Status ExecNode::get_next(RuntimeState* state, vectorized::Block* block, bool* e
return Status::NotSupported("Not Implemented get block");
}
std::string ExecNode::get_name() {
return (_is_vec ? "V" : "") + print_plan_node_type(_type);
}
} // namespace doris