[improvement](tracing) Remove useless span levels from be side tracing (#19665)

1. Remove an exec node method corresponding to a span and replace it with an exec node corresponding to a span;
2. Fix some problems with tracing in pipeline.
This commit is contained in:
luozenglin
2023-05-17 19:04:52 +08:00
committed by GitHub
parent ce12cf404c
commit 272a7565b8
37 changed files with 143 additions and 320 deletions

View File

@ -133,22 +133,17 @@ Status VTableFunctionNode::prepare(RuntimeState* state) {
}
Status VTableFunctionNode::get_next(RuntimeState* state, Block* block, bool* eos) {
INIT_AND_SCOPE_GET_NEXT_SPAN(state->get_tracer(), _get_next_span,
"VTableFunctionNode::get_next");
SCOPED_TIMER(_runtime_profile->total_time_counter());
RETURN_IF_CANCELLED(state);
// if child_block is empty, get data from child.
while (need_more_input_data()) {
RETURN_IF_ERROR_AND_CHECK_SPAN(
child(0)->get_next_after_projects(
state, &_child_block, &_child_eos,
std::bind((Status(ExecNode::*)(RuntimeState*, Block*, bool*)) &
ExecNode::get_next,
_children[0], std::placeholders::_1, std::placeholders::_2,
std::placeholders::_3)),
child(0)->get_next_span(), _child_eos);
RETURN_IF_ERROR(child(0)->get_next_after_projects(
state, &_child_block, &_child_eos,
std::bind((Status(ExecNode::*)(RuntimeState*, Block*, bool*)) & ExecNode::get_next,
_children[0], std::placeholders::_1, std::placeholders::_2,
std::placeholders::_3)));
RETURN_IF_ERROR(push(state, &_child_block, _child_eos));
}