[enhancement](memtracker) Fix Brpc mem count and refactored thread context macro (#13469)

This commit is contained in:
Xinyi Zou
2022-10-21 12:01:38 +08:00
committed by GitHub
parent b861b66bef
commit 9dc5dd382a
18 changed files with 183 additions and 55 deletions

View File

@ -29,6 +29,15 @@ ThreadContextPtr::ThreadContextPtr() {
init = true;
}
ScopeMemCount::ScopeMemCount(int64_t* scope_mem) {
_scope_mem = scope_mem;
thread_context()->_thread_mem_tracker_mgr->start_count_scope_mem();
}
ScopeMemCount::~ScopeMemCount() {
*_scope_mem = thread_context()->_thread_mem_tracker_mgr->stop_count_scope_mem();
}
AttachTask::AttachTask(const std::shared_ptr<MemTrackerLimiter>& mem_tracker,
const ThreadContext::TaskType& type, const std::string& task_id,
const TUniqueId& fragment_instance_id) {
@ -55,6 +64,17 @@ AttachTask::~AttachTask() {
#endif // NDEBUG
}
SwitchThreadMemTrackerLimiter::SwitchThreadMemTrackerLimiter(
const std::shared_ptr<MemTrackerLimiter>& mem_tracker_limiter) {
DCHECK(mem_tracker_limiter);
thread_context()->_thread_mem_tracker_mgr->attach_limiter_tracker("", TUniqueId(),
mem_tracker_limiter);
}
SwitchThreadMemTrackerLimiter::~SwitchThreadMemTrackerLimiter() {
thread_context()->_thread_mem_tracker_mgr->detach_limiter_tracker();
}
AddThreadMemTrackerConsumer::AddThreadMemTrackerConsumer(MemTracker* mem_tracker) {
if (config::memory_verbose_track) {
thread_context()->_thread_mem_tracker_mgr->push_consumer_tracker(mem_tracker);