This is an automated email from the ASF dual-hosted git repository. kxiao pushed a commit to branch branch-2.0 in repository https://gitbox.apache.org/repos/asf/doris.git
commit a40ffd2dcb5f3af8e8dcea05ef905b30b32964a6 Author: Xinyi Zou <zouxiny...@gmail.com> AuthorDate: Fri Aug 4 09:56:30 2023 +0800 [fix](debug) add bvar counter for memtracker #22581 --- be/src/runtime/memory/mem_tracker.cpp | 5 +++++ be/src/runtime/memory/mem_tracker_limiter.cpp | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/be/src/runtime/memory/mem_tracker.cpp b/be/src/runtime/memory/mem_tracker.cpp index 6a7994ee7c..981a4e63be 100644 --- a/be/src/runtime/memory/mem_tracker.cpp +++ b/be/src/runtime/memory/mem_tracker.cpp @@ -24,11 +24,14 @@ #include <mutex> +#include "bvar/bvar.h" #include "runtime/memory/mem_tracker_limiter.h" #include "runtime/thread_context.h" namespace doris { +bvar::Adder<int64_t> g_memtracker_cnt("memtracker_cnt"); + // Save all MemTrackers in use to maintain the weak relationship between MemTracker and MemTrackerLimiter. // When MemTrackerLimiter prints statistics, all MemTracker statistics with weak relationship will be printed together. // Each group corresponds to several MemTrackerLimiters and has a lock. @@ -73,6 +76,7 @@ void MemTracker::bind_parent(MemTrackerLimiter* parent) { _tracker_group_it = mem_tracker_pool[_parent_group_num].trackers.insert( mem_tracker_pool[_parent_group_num].trackers.end(), this); } + g_memtracker_cnt << 1; } MemTracker::~MemTracker() { @@ -82,6 +86,7 @@ MemTracker::~MemTracker() { mem_tracker_pool[_parent_group_num].trackers.erase(_tracker_group_it); _tracker_group_it = mem_tracker_pool[_parent_group_num].trackers.end(); } + g_memtracker_cnt << -1; } } diff --git a/be/src/runtime/memory/mem_tracker_limiter.cpp b/be/src/runtime/memory/mem_tracker_limiter.cpp index 517589f767..568ec2215b 100644 --- a/be/src/runtime/memory/mem_tracker_limiter.cpp +++ b/be/src/runtime/memory/mem_tracker_limiter.cpp @@ -26,6 +26,7 @@ #include <queue> #include <utility> +#include "bvar/bvar.h" #include "runtime/exec_env.h" #include "runtime/fragment_mgr.h" #include "runtime/load_channel_mgr.h" @@ -38,6 +39,8 @@ namespace doris { +bvar::Adder<int64_t> g_memtrackerlimiter_cnt("memtrackerlimiter_cnt"); + // Save all MemTrackerLimiters in use. // Each group corresponds to several MemTrackerLimiters and has a lock. // Multiple groups are used to reduce the impact of locks. @@ -80,6 +83,7 @@ MemTrackerLimiter::MemTrackerLimiter(Type type, const std::string& label, int64_ _tracker_limiter_group_it = mem_tracker_limiter_pool[_group_num].trackers.insert( mem_tracker_limiter_pool[_group_num].trackers.end(), this); } + g_memtrackerlimiter_cnt << 1; } MemTrackerLimiter::~MemTrackerLimiter() { @@ -98,6 +102,7 @@ MemTrackerLimiter::~MemTrackerLimiter() { _tracker_limiter_group_it = mem_tracker_limiter_pool[_group_num].trackers.end(); } } + g_memtrackerlimiter_cnt << -1; } MemTracker::Snapshot MemTrackerLimiter::make_snapshot() const { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org