[feature-wip] (memory tracker) (step4) Switch TLS mem tracker to separate more detailed memory usage (#8669)
Based on #8605, Separate out the memory usage of each operator from the Query/Load/StorageEngine mem tracker.
This commit is contained in:
@ -57,6 +57,7 @@ Status ExchangeNode::init(const TPlanNode& tnode, RuntimeState* state) {
|
||||
|
||||
Status ExchangeNode::prepare(RuntimeState* state) {
|
||||
RETURN_IF_ERROR(ExecNode::prepare(state));
|
||||
SCOPED_SWITCH_TASK_THREAD_LOCAL_MEM_TRACKER(mem_tracker());
|
||||
_convert_row_batch_timer = ADD_TIMER(runtime_profile(), "ConvertRowBatchTime");
|
||||
// TODO: figure out appropriate buffer size
|
||||
DCHECK_GT(_num_senders, 0);
|
||||
@ -75,6 +76,7 @@ Status ExchangeNode::prepare(RuntimeState* state) {
|
||||
|
||||
Status ExchangeNode::open(RuntimeState* state) {
|
||||
SCOPED_TIMER(_runtime_profile->total_time_counter());
|
||||
SCOPED_SWITCH_TASK_THREAD_LOCAL_MEM_TRACKER(mem_tracker());
|
||||
RETURN_IF_ERROR(ExecNode::open(state));
|
||||
if (_is_merging) {
|
||||
RETURN_IF_ERROR(_sort_exec_exprs.open(state));
|
||||
@ -129,6 +131,7 @@ Status ExchangeNode::fill_input_row_batch(RuntimeState* state) {
|
||||
Status ExchangeNode::get_next(RuntimeState* state, RowBatch* output_batch, bool* eos) {
|
||||
RETURN_IF_ERROR(exec_debug_action(TExecNodePhase::GETNEXT));
|
||||
SCOPED_TIMER(_runtime_profile->total_time_counter());
|
||||
SCOPED_SWITCH_TASK_THREAD_LOCAL_EXISTED_MEM_TRACKER(mem_tracker());
|
||||
|
||||
if (reached_limit()) {
|
||||
_stream_recvr->transfer_all_resources(output_batch);
|
||||
|
||||
Reference in New Issue
Block a user