This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push: new 697fa5f586 [Enhancement](profile) support configure the number of query profile (#13421) 697fa5f586 is described below commit 697fa5f586c0fe753b55c8d63c3a1fb0e1176d78 Author: xueweizhang <zxw520bl...@163.com> AuthorDate: Thu Oct 20 08:51:36 2022 +0800 [Enhancement](profile) support configure the number of query profile (#13421) Signed-off-by: nextdreamblue <zxw520bl...@163.com> --- docs/en/docs/admin-manual/config/fe-config.md | 10 ++++++++++ docs/zh-CN/docs/admin-manual/config/fe-config.md | 12 +++++++++++- fe/fe-core/src/main/java/org/apache/doris/common/Config.java | 6 ++++++ .../java/org/apache/doris/common/util/ProfileManager.java | 5 +++-- 4 files changed, 30 insertions(+), 3 deletions(-) diff --git a/docs/en/docs/admin-manual/config/fe-config.md b/docs/en/docs/admin-manual/config/fe-config.md index bcb0713bf7..674437e670 100644 --- a/docs/en/docs/admin-manual/config/fe-config.md +++ b/docs/en/docs/admin-manual/config/fe-config.md @@ -2232,3 +2232,13 @@ The latest data version currently supported, cannot be modified, and should be c ### `min_be_exec_version` The oldest data version currently supported, which cannot be modified, should be consistent with the `HeartbeatServer::min_be_exec_version` in the BE of the matching version. + +### `max_query_profile_num` + +The max number of query profile. + +Default: 100 + +Is it possible to dynamically configure: true + +Is it a configuration item unique to the Master FE node: false diff --git a/docs/zh-CN/docs/admin-manual/config/fe-config.md b/docs/zh-CN/docs/admin-manual/config/fe-config.md index a221bcea51..bc00e0d649 100644 --- a/docs/zh-CN/docs/admin-manual/config/fe-config.md +++ b/docs/zh-CN/docs/admin-manual/config/fe-config.md @@ -2286,4 +2286,14 @@ load 标签清理器将每隔 `label_clean_interval_second` 运行一次以清 ### `min_be_exec_version` -目前支持的最旧数据版本,不可修改,应与配套版本的BE中的`HeartbeatServer::min_data_version`一致。 \ No newline at end of file +目前支持的最旧数据版本,不可修改,应与配套版本的BE中的`HeartbeatServer::min_data_version`一致。 + +### `max_query_profile_num` + +用于设置保存查询的 profile 的最大个数。 + +默认值:100 + +是否可以动态配置:true + +是否为 Master FE 节点独有的配置项:false diff --git a/fe/fe-core/src/main/java/org/apache/doris/common/Config.java b/fe/fe-core/src/main/java/org/apache/doris/common/Config.java index 607db27e82..3db76156f1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/common/Config.java +++ b/fe/fe-core/src/main/java/org/apache/doris/common/Config.java @@ -1788,4 +1788,10 @@ public class Config extends ConfigBase { @ConfField(mutable = false) public static int statistic_task_scheduler_execution_interval_ms = 60 * 1000; + /** + * Max query profile num. + */ + @ConfField(mutable = true, masterOnly = false) + public static int max_query_profile_num = 100; + } 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 7223169122..5d22ed5197 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 @@ -18,6 +18,7 @@ package org.apache.doris.common.util; import org.apache.doris.common.AnalysisException; +import org.apache.doris.common.Config; import org.apache.doris.common.profile.MultiProfileTreeBuilder; import org.apache.doris.common.profile.ProfileTreeBuilder; import org.apache.doris.common.profile.ProfileTreeNode; @@ -53,7 +54,7 @@ import java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock; public class ProfileManager { private static final Logger LOG = LogManager.getLogger(ProfileManager.class); private static volatile ProfileManager INSTANCE = null; - private static final int ARRAY_SIZE = 100; + // private static final int ARRAY_SIZE = 100; // private static final int TOTAL_LEN = 1000 * ARRAY_SIZE ; public static final String QUERY_ID = "Query ID"; public static final String START_TIME = "Start Time"; @@ -152,7 +153,7 @@ public class ProfileManager { writeLock.lock(); try { if (!queryIdDeque.contains(queryId)) { - if (queryIdDeque.size() >= ARRAY_SIZE) { + if (queryIdDeque.size() >= Config.max_query_profile_num) { queryIdToProfileMap.remove(queryIdDeque.getFirst()); queryIdDeque.removeFirst(); } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org