[MemTracker] Refactored the hierarchical structure of memtracker (#5956)
To avoid showing too many memtracker on BE web pages. The MemTracker level now has 3 levels: OVERVIEW, TASK and VERBOSE. OVERVIEW Mainly used for main memory consumption module such as Query/Load/Metadata. TASK is mainly used to record the memory overhead of a single task such as a single query, load, and compaction task. VERBOSE is used for other more detailed memtrackers.
This commit is contained in:
@ -72,7 +72,7 @@ static std::shared_ptr<MemTracker> root_tracker;
|
||||
static GoogleOnceType root_tracker_once = GOOGLE_ONCE_INIT;
|
||||
|
||||
void MemTracker::CreateRootTracker() {
|
||||
root_tracker.reset(new MemTracker(-1, "Root"));
|
||||
root_tracker.reset(new MemTracker(nullptr, -1, "Root", nullptr, true, MemTrackerLevel::OVERVIEW));
|
||||
root_tracker->Init();
|
||||
}
|
||||
|
||||
@ -143,7 +143,7 @@ std::shared_ptr<MemTracker> MemTracker::CreateTracker(int64_t byte_limit, const
|
||||
}
|
||||
|
||||
MemTracker::MemTracker(int64_t byte_limit, const std::string& label)
|
||||
: MemTracker(nullptr, byte_limit, label, std::shared_ptr<MemTracker>(), true, MemTrackerLevel::RELEASE) {}
|
||||
: MemTracker(nullptr, byte_limit, label, std::shared_ptr<MemTracker>(), true, MemTrackerLevel::VERBOSE) {}
|
||||
|
||||
MemTracker::MemTracker(RuntimeProfile* profile, int64_t byte_limit, const string& label,
|
||||
const std::shared_ptr<MemTracker>& parent, bool log_usage_if_zero, MemTrackerLevel level)
|
||||
|
||||
Reference in New Issue
Block a user