This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-doris.git
The following commit(s) were added to refs/heads/master by this push: new 0131c33 [Enhance] Improve the readability of memtrackers' name (#5455) 0131c33 is described below commit 0131c3396621b315fc672b028ea18338c92fb320 Author: Yingchun Lai <405403...@qq.com> AuthorDate: Thu Mar 11 22:33:31 2021 +0800 [Enhance] Improve the readability of memtrackers' name (#5455) Improve the readability of memtrackers' name, then you will be happy to read website be_ip:port/mem_tracker --- be/src/exec/base_scanner.cpp | 3 ++- be/src/exec/data_sink.cpp | 3 +-- be/src/exec/data_sink.h | 1 + be/src/exec/es_http_scanner.cpp | 3 ++- be/src/exec/exec_node.cpp | 4 ++-- be/src/exec/olap_scanner.cpp | 4 +++- be/src/exec/tablet_sink.cpp | 4 +++- be/src/http/action/compaction_action.cpp | 4 ++-- be/src/http/action/compaction_action.h | 2 +- be/src/olap/compaction.cpp | 8 ++++++-- be/src/olap/delta_writer.cpp | 4 +++- be/src/olap/delta_writer.h | 1 + be/src/olap/fs/file_block_manager.cpp | 2 +- be/src/olap/memtable.cpp | 2 +- be/src/olap/rowset/segment_reader.cpp | 2 +- be/src/olap/storage_engine.cpp | 7 +++---- be/src/runtime/buffered_block_mgr2.cc | 2 +- be/src/runtime/data_spliter.cpp | 4 +++- be/src/runtime/data_stream_recvr.cc | 5 ++++- be/src/runtime/data_stream_sender.cpp | 4 +++- be/src/runtime/exec_env_init.cpp | 2 +- be/src/runtime/export_sink.cpp | 9 +++++++-- be/src/runtime/initial_reservations.cc | 2 +- be/src/runtime/load_channel.cpp | 3 ++- be/src/runtime/load_channel_mgr.cpp | 2 +- be/src/runtime/memory_scratch_sink.cpp | 4 +++- be/src/runtime/mysql_table_sink.cpp | 4 +++- be/src/runtime/odbc_table_sink.cpp | 4 +++- be/src/runtime/plan_fragment_executor.cpp | 6 ++++-- be/src/runtime/result_sink.cpp | 2 ++ be/src/runtime/runtime_state.cpp | 6 +++--- be/src/runtime/tablets_channel.cpp | 2 +- be/test/runtime/test_env.cc | 6 +++--- 33 files changed, 78 insertions(+), 43 deletions(-) diff --git a/be/src/exec/base_scanner.cpp b/be/src/exec/base_scanner.cpp index 2c7c592..a567b3b 100644 --- a/be/src/exec/base_scanner.cpp +++ b/be/src/exec/base_scanner.cpp @@ -41,7 +41,8 @@ BaseScanner::BaseScanner(RuntimeState* state, RuntimeProfile* profile, _mem_tracker(new MemTracker()), #else _mem_tracker( - MemTracker::CreateTracker(-1, "Broker Scanner", state->instance_mem_tracker())), + MemTracker::CreateTracker(-1, "BaseScanner:" + std::to_string(state->load_job_id()), + state->instance_mem_tracker())), #endif _mem_pool(_mem_tracker.get()), _dest_tuple_desc(nullptr), diff --git a/be/src/exec/data_sink.cpp b/be/src/exec/data_sink.cpp index 84c46ab..ef85dbc 100644 --- a/be/src/exec/data_sink.cpp +++ b/be/src/exec/data_sink.cpp @@ -159,8 +159,7 @@ Status DataSink::init(const TDataSink& thrift_sink) { Status DataSink::prepare(RuntimeState* state) { _expr_mem_tracker = MemTracker::CreateTracker( - // TODO(yingchun): use subclass' name - -1, std::string("DataSink:") + std::to_string(state->load_job_id()), + -1, _name + ":Expr:" + std::to_string(state->load_job_id()), state->instance_mem_tracker()); return Status::OK(); } diff --git a/be/src/exec/data_sink.h b/be/src/exec/data_sink.h index daf06ed..e4c6729 100644 --- a/be/src/exec/data_sink.h +++ b/be/src/exec/data_sink.h @@ -88,6 +88,7 @@ protected: // close(). bool _closed; std::shared_ptr<MemTracker> _expr_mem_tracker; + std::string _name; // Maybe this will be transferred to BufferControlBlock. std::shared_ptr<QueryStatistics> _query_statistics; diff --git a/be/src/exec/es_http_scanner.cpp b/be/src/exec/es_http_scanner.cpp index 9306baa..fe3d67b 100644 --- a/be/src/exec/es_http_scanner.cpp +++ b/be/src/exec/es_http_scanner.cpp @@ -47,7 +47,8 @@ EsHttpScanner::EsHttpScanner(RuntimeState* state, RuntimeProfile* profile, Tuple _mem_tracker(new MemTracker()), #else _mem_tracker( - MemTracker::CreateTracker(-1, "EsHttp Scanner", state->instance_mem_tracker())), + MemTracker::CreateTracker(-1, "EsHttpScanner:" + std::to_string(state->load_job_id()), + state->instance_mem_tracker())), #endif _mem_pool(_mem_tracker.get()), _tuple_desc(nullptr), diff --git a/be/src/exec/exec_node.cpp b/be/src/exec/exec_node.cpp index 245d42b..298e707 100644 --- a/be/src/exec/exec_node.cpp +++ b/be/src/exec/exec_node.cpp @@ -173,9 +173,9 @@ Status ExecNode::prepare(RuntimeState* state) { runtime_profile()->total_time_counter()), ""); _mem_tracker = MemTracker::CreateTracker(_runtime_profile.get(), -1, - "ExecNode " + _runtime_profile->name(), + "ExecNode:" + _runtime_profile->name(), state->instance_mem_tracker()); - _expr_mem_tracker = MemTracker::CreateTracker(-1, "ExecNode Exprs", _mem_tracker); + _expr_mem_tracker = MemTracker::CreateTracker(-1, "ExecNode:Exprs:" + _runtime_profile->name(), _mem_tracker); _expr_mem_pool.reset(new MemPool(_expr_mem_tracker.get())); // TODO chenhao RETURN_IF_ERROR(Expr::prepare(_conjunct_ctxs, state, row_desc(), expr_mem_tracker())); diff --git a/be/src/exec/olap_scanner.cpp b/be/src/exec/olap_scanner.cpp index e3fc004..8d9b8a4 100644 --- a/be/src/exec/olap_scanner.cpp +++ b/be/src/exec/olap_scanner.cpp @@ -247,7 +247,9 @@ Status OlapScanner::get_batch(RuntimeState* state, RowBatch* batch, bool* eof) { bzero(tuple_buf, state->batch_size() * _tuple_desc->byte_size()); Tuple* tuple = reinterpret_cast<Tuple*>(tuple_buf); - auto tracker = MemTracker::CreateTracker(state->fragment_mem_tracker()->limit(), "OlapScanner"); + auto tracker = MemTracker::CreateTracker(state->fragment_mem_tracker()->limit(), + "OlapScanner:" + print_id(state->query_id()), + state->fragment_mem_tracker()); std::unique_ptr<MemPool> mem_pool(new MemPool(tracker.get())); int64_t raw_rows_threshold = raw_rows_read() + config::doris_scanner_row_num; diff --git a/be/src/exec/tablet_sink.cpp b/be/src/exec/tablet_sink.cpp index 7f51526..d08d291 100644 --- a/be/src/exec/tablet_sink.cpp +++ b/be/src/exec/tablet_sink.cpp @@ -447,6 +447,7 @@ OlapTableSink::OlapTableSink(ObjectPool* pool, const RowDescriptor& row_desc, if (!texprs.empty()) { *status = Expr::create_expr_trees(_pool, texprs, &_output_expr_ctxs); } + _name = "OlapTableSink"; } OlapTableSink::~OlapTableSink() { @@ -491,7 +492,8 @@ Status OlapTableSink::prepare(RuntimeState* state) { // profile must add to state's object pool _profile = state->obj_pool()->add(new RuntimeProfile("OlapTableSink")); - _mem_tracker = MemTracker::CreateTracker(-1, "OlapTableSink", state->instance_mem_tracker()); + _mem_tracker = MemTracker::CreateTracker(-1, "OlapTableSink:" + std::to_string(state->load_job_id()), + state->instance_mem_tracker()); SCOPED_TIMER(_profile->total_time_counter()); diff --git a/be/src/http/action/compaction_action.cpp b/be/src/http/action/compaction_action.cpp index 45050a2..c8f280c 100644 --- a/be/src/http/action/compaction_action.cpp +++ b/be/src/http/action/compaction_action.cpp @@ -214,7 +214,7 @@ OLAPStatus CompactionAction::_execute_compaction_callback(TabletSharedPtr tablet const std::string& compaction_type) { OLAPStatus status = OLAP_SUCCESS; if (compaction_type == PARAM_COMPACTION_BASE) { - std::string tracker_label = "base compaction " + std::to_string(syscall(__NR_gettid)); + std::string tracker_label = "CompactionAction:BaseCompaction:" + std::to_string(syscall(__NR_gettid)); BaseCompaction base_compaction(tablet, tracker_label, _compaction_mem_tracker); OLAPStatus res = base_compaction.compact(); if (res != OLAP_SUCCESS) { @@ -226,7 +226,7 @@ OLAPStatus CompactionAction::_execute_compaction_callback(TabletSharedPtr tablet } status = res; } else if (compaction_type == PARAM_COMPACTION_CUMULATIVE) { - std::string tracker_label = "cumulative compaction " + std::to_string(syscall(__NR_gettid)); + std::string tracker_label = "CompactionAction:CumulativeCompaction:" + std::to_string(syscall(__NR_gettid)); CumulativeCompaction cumulative_compaction(tablet, tracker_label, _compaction_mem_tracker); OLAPStatus res = cumulative_compaction.compact(); diff --git a/be/src/http/action/compaction_action.h b/be/src/http/action/compaction_action.h index 1c67113..66ab873 100644 --- a/be/src/http/action/compaction_action.h +++ b/be/src/http/action/compaction_action.h @@ -42,7 +42,7 @@ public: CompactionAction(CompactionActionType type) : _type(type), _compaction_mem_tracker( - MemTracker::CreateTracker(-1, "manual compaction mem tracker(unlimited)")) {} + MemTracker::CreateTracker(-1, "CompactionAction")) {} virtual ~CompactionAction() {} diff --git a/be/src/olap/compaction.cpp b/be/src/olap/compaction.cpp index 719f06b..35dcbb8 100644 --- a/be/src/olap/compaction.cpp +++ b/be/src/olap/compaction.cpp @@ -29,7 +29,7 @@ namespace doris { Compaction::Compaction(TabletSharedPtr tablet, const std::string& label, const std::shared_ptr<MemTracker>& parent_tracker) : _mem_tracker(MemTracker::CreateTracker(-1, label, parent_tracker)), - _readers_tracker(MemTracker::CreateTracker(-1, "readers tracker", _mem_tracker)), + _readers_tracker(MemTracker::CreateTracker(-1, "Compaction:RowsetReaders:" + std::to_string(tablet->tablet_id()), _mem_tracker)), _tablet(tablet), _input_rowsets_size(0), _input_row_num(0), @@ -164,7 +164,11 @@ OLAPStatus Compaction::construct_output_rowset_writer() { OLAPStatus Compaction::construct_input_rowset_readers() { for (auto& rowset : _input_rowsets) { RowsetReaderSharedPtr rs_reader; - RETURN_NOT_OK(rowset->create_reader(_readers_tracker, &rs_reader)); + RETURN_NOT_OK(rowset->create_reader( + MemTracker::CreateTracker( + -1, "Compaction:RowsetReader:" + rowset->rowset_id().to_string(), + _readers_tracker), + &rs_reader)); _input_rs_readers.push_back(std::move(rs_reader)); } return OLAP_SUCCESS; diff --git a/be/src/olap/delta_writer.cpp b/be/src/olap/delta_writer.cpp index ee80db1..7aa5828 100644 --- a/be/src/olap/delta_writer.cpp +++ b/be/src/olap/delta_writer.cpp @@ -44,7 +44,7 @@ DeltaWriter::DeltaWriter(WriteRequest* req, const std::shared_ptr<MemTracker>& p _tablet_schema(nullptr), _delta_written_success(false), _storage_engine(storage_engine), - _mem_tracker(MemTracker::CreateTracker(-1, "DeltaWriter", parent)) {} + _parent_mem_tracker(parent) {} DeltaWriter::~DeltaWriter() { if (_is_init && !_delta_written_success) { @@ -101,6 +101,8 @@ OLAPStatus DeltaWriter::init() { return OLAP_ERR_TABLE_NOT_FOUND; } + _mem_tracker = MemTracker::CreateTracker(-1, "DeltaWriter:" + std::to_string(_tablet->tablet_id()), + _parent_mem_tracker); // check tablet version number if (_tablet->version_count() > config::max_tablet_version_num) { LOG(WARNING) << "failed to init delta writer. version count: " << _tablet->version_count() diff --git a/be/src/olap/delta_writer.h b/be/src/olap/delta_writer.h index 9cf59eb..01c1b0d 100644 --- a/be/src/olap/delta_writer.h +++ b/be/src/olap/delta_writer.h @@ -112,6 +112,7 @@ private: StorageEngine* _storage_engine; std::unique_ptr<FlushToken> _flush_token; + std::shared_ptr<MemTracker> _parent_mem_tracker; std::shared_ptr<MemTracker> _mem_tracker; SpinLock _lock; diff --git a/be/src/olap/fs/file_block_manager.cpp b/be/src/olap/fs/file_block_manager.cpp index 37056f4..68ff482 100644 --- a/be/src/olap/fs/file_block_manager.cpp +++ b/be/src/olap/fs/file_block_manager.cpp @@ -369,7 +369,7 @@ FileBlockManager::FileBlockManager(Env* env, BlockManagerOptions opts) : _env(DCHECK_NOTNULL(env)), _opts(std::move(opts)), _mem_tracker( - MemTracker::CreateTracker(-1, "file_block_manager", _opts.parent_mem_tracker)) { + MemTracker::CreateTracker(-1, "FileBlockManager", _opts.parent_mem_tracker)) { if (_opts.enable_metric) { _metrics.reset(new internal::BlockManagerMetrics()); } diff --git a/be/src/olap/memtable.cpp b/be/src/olap/memtable.cpp index f728af5..4ee8b4a 100644 --- a/be/src/olap/memtable.cpp +++ b/be/src/olap/memtable.cpp @@ -40,7 +40,7 @@ MemTable::MemTable(int64_t tablet_id, Schema* schema, const TabletSchema* tablet _slot_descs(slot_descs), _keys_type(keys_type), _row_comparator(_schema), - _mem_tracker(MemTracker::CreateTracker(-1, "MemTable", parent_tracker)), + _mem_tracker(MemTracker::CreateTracker(-1, "MemTable:" + std::to_string(tablet_id), parent_tracker)), _buffer_mem_pool(new MemPool(_mem_tracker.get())), _table_mem_pool(new MemPool(_mem_tracker.get())), _schema_size(_schema->schema_size()), diff --git a/be/src/olap/rowset/segment_reader.cpp b/be/src/olap/rowset/segment_reader.cpp index 114b704..38d3d1f 100644 --- a/be/src/olap/rowset/segment_reader.cpp +++ b/be/src/olap/rowset/segment_reader.cpp @@ -58,7 +58,7 @@ SegmentReader::SegmentReader(const std::string file, SegmentGroup* segment_group _is_using_mmap(false), _is_data_loaded(false), _buffer_size(0), - _tracker(MemTracker::CreateTracker(-1, "SegmentReader", parent_tracker)), + _tracker(MemTracker::CreateTracker(-1, "SegmentReader:" + file, parent_tracker)), _mem_pool(new MemPool(_tracker.get())), _shared_buffer(NULL), _lru_cache(lru_cache), diff --git a/be/src/olap/storage_engine.cpp b/be/src/olap/storage_engine.cpp index 21d86ea..7fe2f85 100644 --- a/be/src/olap/storage_engine.cpp +++ b/be/src/olap/storage_engine.cpp @@ -113,8 +113,7 @@ StorageEngine::StorageEngine(const EngineOptions& options) _is_all_cluster_id_exist(true), _index_stream_lru_cache(NULL), _file_cache(nullptr), - _compaction_mem_tracker( - MemTracker::CreateTracker(-1, "compaction mem tracker(unlimited)")), + _compaction_mem_tracker(MemTracker::CreateTracker(-1, "Compaction")), _stop_background_threads_latch(1), _tablet_manager(new TabletManager(config::tablet_map_shard_size)), _txn_manager(new TxnManager(config::txn_map_shard_size, config::txn_shard_size)), @@ -985,14 +984,14 @@ bool StorageEngine::check_rowset_id_in_unused_rowsets(const RowsetId& rowset_id) void StorageEngine::create_cumulative_compaction( TabletSharedPtr best_tablet, std::shared_ptr<CumulativeCompaction>& cumulative_compaction) { - std::string tracker_label = "cumulative compaction " + std::to_string(syscall(__NR_gettid)); + std::string tracker_label = "StorageEngine:CumulativeCompaction:" + std::to_string(syscall(__NR_gettid)); cumulative_compaction.reset( new CumulativeCompaction(best_tablet, tracker_label, _compaction_mem_tracker)); } void StorageEngine::create_base_compaction(TabletSharedPtr best_tablet, std::shared_ptr<BaseCompaction>& base_compaction) { - std::string tracker_label = "base compaction " + std::to_string(syscall(__NR_gettid)); + std::string tracker_label = "StorageEngine:BaseCompaction:" + std::to_string(syscall(__NR_gettid)); base_compaction.reset(new BaseCompaction(best_tablet, tracker_label, _compaction_mem_tracker)); } diff --git a/be/src/runtime/buffered_block_mgr2.cc b/be/src/runtime/buffered_block_mgr2.cc index 3e60664..8ac9451 100644 --- a/be/src/runtime/buffered_block_mgr2.cc +++ b/be/src/runtime/buffered_block_mgr2.cc @@ -1288,7 +1288,7 @@ void BufferedBlockMgr2::init(DiskIoMgr* io_mgr, RuntimeProfile* parent_profile, // Create a new mem_tracker and allocate buffers. // _mem_tracker.reset(new MemTracker( // profile(), mem_limit, -1, "Block Manager", parent_tracker)); - _mem_tracker = MemTracker::CreateTracker(mem_limit, "Block Manager2", parent_tracker); + _mem_tracker = MemTracker::CreateTracker(mem_limit, "BufferedBlockMgr2", parent_tracker); _initialized = true; } diff --git a/be/src/runtime/data_spliter.cpp b/be/src/runtime/data_spliter.cpp index c65e567..9205eb8 100644 --- a/be/src/runtime/data_spliter.cpp +++ b/be/src/runtime/data_spliter.cpp @@ -40,7 +40,9 @@ namespace doris { DataSpliter::DataSpliter(const RowDescriptor& row_desc) - : _obj_pool(new ObjectPool()), _row_desc(row_desc) {} + : _obj_pool(new ObjectPool()), _row_desc(row_desc) { + _name = "DataSpliter"; +} DataSpliter::~DataSpliter() {} diff --git a/be/src/runtime/data_stream_recvr.cc b/be/src/runtime/data_stream_recvr.cc index b514a88..eb671f1 100644 --- a/be/src/runtime/data_stream_recvr.cc +++ b/be/src/runtime/data_stream_recvr.cc @@ -32,6 +32,7 @@ #include "util/debug_util.h" #include "util/logging.h" #include "util/runtime_profile.h" +#include "util/uid_util.h" using std::list; using std::vector; @@ -358,7 +359,9 @@ DataStreamRecvr::DataStreamRecvr( _num_buffered_bytes(0), _profile(profile), _sub_plan_query_statistics_recvr(sub_plan_query_statistics_recvr) { - _mem_tracker = MemTracker::CreateTracker(_profile, -1, "DataStreamRecvr", parent_tracker); + _mem_tracker = MemTracker::CreateTracker(_profile, -1, + "DataStreamRecvr:" + print_id(_fragment_instance_id), + parent_tracker); // Create one queue per sender if is_merging is true. int num_queues = is_merging ? num_senders : 1; diff --git a/be/src/runtime/data_stream_sender.cpp b/be/src/runtime/data_stream_sender.cpp index 3ebb906..7f23ffd 100644 --- a/be/src/runtime/data_stream_sender.cpp +++ b/be/src/runtime/data_stream_sender.cpp @@ -359,6 +359,7 @@ DataStreamSender::DataStreamSender(ObjectPool* pool, int sender_id, const RowDes _channel_shared_ptrs[fragment_id_to_channel_index[fragment_instance_id.lo]]); } } + _name = "DataStreamSender"; } // We use the ParttitionRange to compare here. It should not be a member function of PartitionInfo @@ -415,7 +416,8 @@ Status DataStreamSender::prepare(RuntimeState* state) { << "])"; _profile = _pool->add(new RuntimeProfile(title.str())); SCOPED_TIMER(_profile->total_time_counter()); - _mem_tracker = MemTracker::CreateTracker(_profile, -1, "DataStreamSender", + _mem_tracker = MemTracker::CreateTracker(_profile, -1, + "DataStreamSender:" + print_id(state->fragment_instance_id()), state->instance_mem_tracker()); if (_part_type == TPartitionType::UNPARTITIONED || _part_type == TPartitionType::RANDOM) { diff --git a/be/src/runtime/exec_env_init.cpp b/be/src/runtime/exec_env_init.cpp index d3a8bf4..6964ccc 100644 --- a/be/src/runtime/exec_env_init.cpp +++ b/be/src/runtime/exec_env_init.cpp @@ -180,7 +180,7 @@ Status ExecEnv::_init_mem_tracker() { } _mem_tracker = - MemTracker::CreateTracker(bytes_limit, "ExecEnv root", MemTracker::GetRootTracker()); + MemTracker::CreateTracker(bytes_limit, "ExecEnv", MemTracker::GetRootTracker()); LOG(INFO) << "Using global memory limit: " << PrettyPrinter::print(bytes_limit, TUnit::BYTES); RETURN_IF_ERROR(_disk_io_mgr->init(_mem_tracker)); diff --git a/be/src/runtime/export_sink.cpp b/be/src/runtime/export_sink.cpp index 253fe74..0e88bb4 100644 --- a/be/src/runtime/export_sink.cpp +++ b/be/src/runtime/export_sink.cpp @@ -44,7 +44,9 @@ ExportSink::ExportSink(ObjectPool* pool, const RowDescriptor& row_desc, _t_output_expr(t_exprs), _bytes_written_counter(nullptr), _rows_written_counter(nullptr), - _write_timer(nullptr) {} + _write_timer(nullptr) { + _name = "ExportSink"; +} ExportSink::~ExportSink() {} @@ -68,7 +70,10 @@ Status ExportSink::prepare(RuntimeState* state) { _profile = state->obj_pool()->add(new RuntimeProfile(title.str())); SCOPED_TIMER(_profile->total_time_counter()); - _mem_tracker = MemTracker::CreateTracker(-1, "ExportSink", state->instance_mem_tracker()); + _mem_tracker = MemTracker::CreateTracker( + -1, + "ExportSink:" + print_id(state->fragment_instance_id()), + state->instance_mem_tracker()); // Prepare the exprs to run. RETURN_IF_ERROR(Expr::prepare(_output_expr_ctxs, state, _row_desc, _mem_tracker)); diff --git a/be/src/runtime/initial_reservations.cc b/be/src/runtime/initial_reservations.cc index 9232181..bd52dcb 100644 --- a/be/src/runtime/initial_reservations.cc +++ b/be/src/runtime/initial_reservations.cc @@ -37,7 +37,7 @@ InitialReservations::InitialReservations(ObjectPool* obj_pool, ReservationTracker* query_reservation, std::shared_ptr<MemTracker> query_mem_tracker, int64_t initial_reservation_total_claims) - : initial_reservation_mem_tracker_(MemTracker::CreateTracker(-1, "Unclaimed reservations", + : initial_reservation_mem_tracker_(MemTracker::CreateTracker(-1, "InitialReservations", query_mem_tracker, false)), remaining_initial_reservation_claims_(initial_reservation_total_claims) { initial_reservations_.InitChildTracker(nullptr, query_reservation, diff --git a/be/src/runtime/load_channel.cpp b/be/src/runtime/load_channel.cpp index adb457d..30c2f2f 100644 --- a/be/src/runtime/load_channel.cpp +++ b/be/src/runtime/load_channel.cpp @@ -26,7 +26,8 @@ namespace doris { LoadChannel::LoadChannel(const UniqueId& load_id, int64_t mem_limit, int64_t timeout_s, const std::shared_ptr<MemTracker>& mem_tracker) : _load_id(load_id), _timeout_s(timeout_s) { - _mem_tracker = MemTracker::CreateTracker(mem_limit, _load_id.to_string(), mem_tracker); + _mem_tracker = MemTracker::CreateTracker( + mem_limit, "LoadChannel:" + _load_id.to_string(), mem_tracker); // _last_updated_time should be set before being inserted to // _load_channels in load_channel_mgr, or it may be erased // immediately by gc thread. diff --git a/be/src/runtime/load_channel_mgr.cpp b/be/src/runtime/load_channel_mgr.cpp index 2f320d0..74e21d0 100644 --- a/be/src/runtime/load_channel_mgr.cpp +++ b/be/src/runtime/load_channel_mgr.cpp @@ -82,7 +82,7 @@ LoadChannelMgr::~LoadChannelMgr() { Status LoadChannelMgr::init(int64_t process_mem_limit) { int64_t load_mem_limit = calc_process_max_load_memory(process_mem_limit); - _mem_tracker = MemTracker::CreateTracker(load_mem_limit, "load channel mgr"); + _mem_tracker = MemTracker::CreateTracker(load_mem_limit, "LoadChannelMgr"); RETURN_IF_ERROR(_start_bg_worker()); return Status::OK(); } diff --git a/be/src/runtime/memory_scratch_sink.cpp b/be/src/runtime/memory_scratch_sink.cpp index 5c3c2c8..ab1d0c1 100644 --- a/be/src/runtime/memory_scratch_sink.cpp +++ b/be/src/runtime/memory_scratch_sink.cpp @@ -41,7 +41,9 @@ namespace doris { MemoryScratchSink::MemoryScratchSink(const RowDescriptor& row_desc, const std::vector<TExpr>& t_output_expr, const TMemoryScratchSink& sink) - : _row_desc(row_desc), _t_output_expr(t_output_expr) {} + : _row_desc(row_desc), _t_output_expr(t_output_expr) { + _name = "MemoryScratchSink"; +} MemoryScratchSink::~MemoryScratchSink() {} diff --git a/be/src/runtime/mysql_table_sink.cpp b/be/src/runtime/mysql_table_sink.cpp index bd22c54..cb7911d 100644 --- a/be/src/runtime/mysql_table_sink.cpp +++ b/be/src/runtime/mysql_table_sink.cpp @@ -33,7 +33,9 @@ MysqlTableSink::MysqlTableSink(ObjectPool* pool, const RowDescriptor& row_desc, : _pool(pool), _row_desc(row_desc), _t_output_expr(t_exprs), - _mem_tracker(MemTracker::CreateTracker(-1, "MysqlTableSink")) {} + _mem_tracker(MemTracker::CreateTracker(-1, "MysqlTableSink")) { + _name = "MysqlTableSink"; +} MysqlTableSink::~MysqlTableSink() {} diff --git a/be/src/runtime/odbc_table_sink.cpp b/be/src/runtime/odbc_table_sink.cpp index e02d978..0bcee5f 100644 --- a/be/src/runtime/odbc_table_sink.cpp +++ b/be/src/runtime/odbc_table_sink.cpp @@ -32,7 +32,9 @@ OdbcTableSink::OdbcTableSink(ObjectPool* pool, const RowDescriptor& row_desc, : _pool(pool), _row_desc(row_desc), _t_output_expr(t_exprs), - _mem_tracker(MemTracker::CreateTracker(-1, "OdbcTableSink")) {} + _mem_tracker(MemTracker::CreateTracker(-1, "OdbcTableSink")) { + _name = "OdbcTableSink"; +} OdbcTableSink::~OdbcTableSink() {} diff --git a/be/src/runtime/plan_fragment_executor.cpp b/be/src/runtime/plan_fragment_executor.cpp index a001848..fc1e54c 100644 --- a/be/src/runtime/plan_fragment_executor.cpp +++ b/be/src/runtime/plan_fragment_executor.cpp @@ -131,8 +131,10 @@ Status PlanFragmentExecutor::prepare(const TExecPlanFragmentParams& request, bytes_limit = _exec_env->process_mem_tracker()->limit(); } // NOTE: this MemTracker only for olap - _mem_tracker = MemTracker::CreateTracker(bytes_limit, "fragment mem-limit", - _exec_env->process_mem_tracker()); + _mem_tracker = MemTracker::CreateTracker( + bytes_limit, + "PlanFragmentExecutor:" + print_id(_query_id) + ":" + print_id(params.fragment_instance_id), + _exec_env->process_mem_tracker()); _runtime_state->set_fragment_mem_tracker(_mem_tracker); LOG(INFO) << "Using query memory limit: " << PrettyPrinter::print(bytes_limit, TUnit::BYTES); diff --git a/be/src/runtime/result_sink.cpp b/be/src/runtime/result_sink.cpp index a289ab0..e536fc5 100644 --- a/be/src/runtime/result_sink.cpp +++ b/be/src/runtime/result_sink.cpp @@ -44,6 +44,8 @@ ResultSink::ResultSink(const RowDescriptor& row_desc, const std::vector<TExpr>& CHECK(sink.__isset.file_options); _file_opts.reset(new ResultFileOptions(sink.file_options)); } + + _name = "ResultSink"; } ResultSink::~ResultSink() {} diff --git a/be/src/runtime/runtime_state.cpp b/be/src/runtime/runtime_state.cpp index 029767d..8b7104f 100644 --- a/be/src/runtime/runtime_state.cpp +++ b/be/src/runtime/runtime_state.cpp @@ -213,10 +213,10 @@ Status RuntimeState::init_mem_trackers(const TUniqueId& query_id) { mem_tracker_counter->set(bytes_limit); _query_mem_tracker = MemTracker::CreateTracker( - bytes_limit, std::string("RuntimeState: query ") + runtime_profile()->name(), + bytes_limit, "RuntimeState:query:" + print_id(query_id), _exec_env->process_mem_tracker()); _instance_mem_tracker = MemTracker::CreateTracker( - &_profile, -1, std::string("RuntimeState: instance ") + runtime_profile()->name(), + &_profile, -1, "RuntimeState:instance:" + print_id(query_id), _query_mem_tracker); /* @@ -245,7 +245,7 @@ Status RuntimeState::init_mem_trackers(const TUniqueId& query_id) { } Status RuntimeState::init_instance_mem_tracker() { - _instance_mem_tracker = MemTracker::CreateTracker(-1); + _instance_mem_tracker = MemTracker::CreateTracker(-1, "RuntimeState"); return Status::OK(); } diff --git a/be/src/runtime/tablets_channel.cpp b/be/src/runtime/tablets_channel.cpp index b2a32c0..ce7e36a 100644 --- a/be/src/runtime/tablets_channel.cpp +++ b/be/src/runtime/tablets_channel.cpp @@ -34,7 +34,7 @@ std::atomic<uint64_t> TabletsChannel::_s_tablet_writer_count; TabletsChannel::TabletsChannel(const TabletsChannelKey& key, const std::shared_ptr<MemTracker>& mem_tracker) : _key(key), _state(kInitialized), _closed_senders(64) { - _mem_tracker = MemTracker::CreateTracker(-1, "tablets channel", mem_tracker); + _mem_tracker = MemTracker::CreateTracker(-1, "TabletsChannel:" + key.to_string(), mem_tracker); static std::once_flag once_flag; std::call_once(once_flag, [] { REGISTER_HOOK_METRIC(tablet_writer_count, [&]() { return _s_tablet_writer_count.load(); }); diff --git a/be/test/runtime/test_env.cc b/be/test/runtime/test_env.cc index c059436..f724644 100644 --- a/be/test/runtime/test_env.cc +++ b/be/test/runtime/test_env.cc @@ -31,13 +31,13 @@ namespace doris { TestEnv::TestEnv() - : _block_mgr_parent_tracker(MemTracker::CreateTracker(-1, "block mgr parent")), - _io_mgr_tracker(MemTracker::CreateTracker(-1, "io mgr")) { + : _block_mgr_parent_tracker(MemTracker::CreateTracker(-1, "BufferedBlockMgr2")), + _io_mgr_tracker(MemTracker::CreateTracker(-1, "DiskIoMgr")) { // Some code will use ExecEnv::GetInstance(), so init the global ExecEnv singleton _exec_env = ExecEnv::GetInstance(); _exec_env->_thread_mgr = new ThreadResourceMgr(2); _exec_env->_buffer_reservation = new ReservationTracker(); - _exec_env->_mem_tracker = MemTracker::CreateTracker(-1, "TestEnv root"); + _exec_env->_mem_tracker = MemTracker::CreateTracker(-1, "TestEnv"); _exec_env->_disk_io_mgr = new DiskIoMgr(1, 1, 1, 10); _exec_env->disk_io_mgr()->init(_io_mgr_tracker); _exec_env->_thread_pool = new PriorityThreadPool(1, 16); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org