This is an automated email from the ASF dual-hosted git repository.

dataroaring pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/doris.git

commit 5d86e352f19e038e0f9dc8e1c0a90330db43646e
Author: zhiqiang <[email protected]>
AuthorDate: Sat Sep 14 11:09:50 2024 +0800

    [opt](profile) Add profile_manager_gc_interval_seconds on fe.conf (#40596)
    
    profile_manager_gc_interval_seconds will control the frequency of
    ProfileManager to do garbage collection. Current value is 30s, default
    value of new config is 1s.
    
    Left side is before, and right side is after modification.
    
    <img width="453" alt="image"
    
src="https://github.com/user-attachments/assets/8fc8f76c-491f-4afb-a584-5dd38b2367f7";>
    
    <img width="445" alt="image"
    
src="https://github.com/user-attachments/assets/d1443cc6-185d-4461-9065-8bbe3eebaa1e";>
---
 fe/fe-common/src/main/java/org/apache/doris/common/Config.java      | 6 ++++++
 .../src/main/java/org/apache/doris/common/util/ProfileManager.java  | 1 +
 2 files changed, 7 insertions(+)

diff --git a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java 
b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java
index 282fbf3a7bc..8896d10a674 100644
--- a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java
+++ b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java
@@ -2710,6 +2710,12 @@ public class Config extends ConfigBase {
     })
     public static int profile_async_collect_expire_time_secs = 5;
 
+    @ConfField(description = {
+            "用于控制 ProfileManager 进行 Profile 垃圾回收的间隔时间,垃圾回收期间 ProfileManager 
会把多余的以及过期的 profile "
+                    + "从内存和磁盘中清理掉,节省内存。",
+            "Used to control the interval time of ProfileManager for profile 
garbage collection. "
+    })
+    public static int profile_manager_gc_interval_seconds = 1;
     // Used to check compatibility when upgrading.
     @ConfField
     public static boolean enable_check_compatibility_mode = false;
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/common/util/ProfileManager.java 
b/fe/fe-core/src/main/java/org/apache/doris/common/util/ProfileManager.java
index eff741e4080..65ddab151e8 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/common/util/ProfileManager.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/common/util/ProfileManager.java
@@ -159,6 +159,7 @@ public class ProfileManager extends MasterDaemon {
 
     // The visiablity of ProfileManager() is package level, so that we can 
write ut for it.
     ProfileManager() {
+        super("profile-manager", Config.profile_manager_gc_interval_seconds * 
1000);
         lock = new ReentrantReadWriteLock(true);
         readLock = lock.readLock();
         writeLock = lock.writeLock();


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to