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

Reply via email to