You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by mo...@apache.org on 2021/03/11 14:33:45 UTC
[incubator-doris] branch master updated: [Enhance] Improve the
readability of memtrackers' name (#5455)
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 <40...@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-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org