[Enhancement](profile) support configure the number of query profile (#13421)
Signed-off-by: nextdreamblue <zxw520blue1@163.com>
This commit is contained in:
@ -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;
|
||||
|
||||
}
|
||||
|
||||
@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user