[enhancement](profilev2) add some fields for profile v2 (#25611)

Add 3 counters for ExecNode:

ExecTime - Total execution time(excluding the execution time of children).
OutputBytes - The total number of bytes output to parent.
BlockCount - The total count of blocks output to parent.
This commit is contained in:
Jerry Hu
2023-10-23 15:55:40 +08:00
committed by GitHub
parent 5cb5121cf6
commit b5ee4a9dbb
18 changed files with 68 additions and 3 deletions

View File

@ -59,6 +59,7 @@ public:
return _children[0]->open(state);
}
Status alloc_resource(RuntimeState* state) override {
SCOPED_TIMER(_exec_timer);
RETURN_IF_ERROR(ExecNode::alloc_resource(state));
return VExpr::open(_vfn_ctxs, state);
}
@ -73,6 +74,7 @@ public:
}
Status push(RuntimeState* state, Block* input_block, bool eos) override {
SCOPED_TIMER(_exec_timer);
_child_eos = eos;
if (input_block->rows() == 0) {
return Status::OK();
@ -86,6 +88,7 @@ public:
}
Status pull(RuntimeState* state, Block* output_block, bool* eos) override {
SCOPED_TIMER(_exec_timer);
RETURN_IF_ERROR(_get_expanded_block(state, output_block, eos));
reached_limit(output_block, eos);
return Status::OK();