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

yiguolei pushed a commit to branch opt_dict_perf
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/opt_dict_perf by this push:
     new 6b5052e4bd try tofix profile
6b5052e4bd is described below

commit 6b5052e4bd386244f6065bd326a8b789895b148c
Author: yiguolei <[email protected]>
AuthorDate: Sat Mar 11 21:31:40 2023 +0800

    try tofix profile
---
 .../org/apache/doris/common/profile/MultiProfileTreeBuilder.java     | 4 ++++
 .../java/org/apache/doris/common/profile/ProfileTreeBuilder.java     | 2 ++
 .../src/main/java/org/apache/doris/common/util/RuntimeProfile.java   | 2 +-
 fe/fe-core/src/main/java/org/apache/doris/qe/QeProcessorImpl.java    | 5 +++++
 4 files changed, 12 insertions(+), 1 deletion(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/common/profile/MultiProfileTreeBuilder.java
 
b/fe/fe-core/src/main/java/org/apache/doris/common/profile/MultiProfileTreeBuilder.java
index 4e150ae6a0..22d5abc6ad 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/common/profile/MultiProfileTreeBuilder.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/common/profile/MultiProfileTreeBuilder.java
@@ -22,6 +22,8 @@ import org.apache.doris.common.Pair;
 import org.apache.doris.common.UserException;
 import org.apache.doris.common.util.Counter;
 import org.apache.doris.common.util.RuntimeProfile;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
@@ -43,6 +45,7 @@ import java.util.regex.Pattern;
  * Each ExecutionProfile node corresponds to a ProfileTreeBuilder
  */
 public class MultiProfileTreeBuilder {
+    private static final Logger LOG = 
LogManager.getLogger(MultiProfileTreeBuilder.class);
     public static final String PROFILE_NAME_EXECUTION = "Execution Profile";
     private static final Set<String> PROFILE_ROOT_NAMES;
     private static final String EXECUTION_ID_PATTERN_STR = "^Execution Profile 
(.*)";
@@ -95,6 +98,7 @@ public class MultiProfileTreeBuilder {
 
     private void buildTrees() throws UserException {
         for (Map.Entry<String, RuntimeProfile> entry : 
idToSingleProfile.entrySet()) {
+            LOG.info("yyy1 {}", entry.getKey());
             ProfileTreeBuilder builder = new 
ProfileTreeBuilder(entry.getValue());
             builder.build();
             idToSingleTreeBuilder.put(entry.getKey(), builder);
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/common/profile/ProfileTreeBuilder.java
 
b/fe/fe-core/src/main/java/org/apache/doris/common/profile/ProfileTreeBuilder.java
index e2bea7e39c..bcef428844 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/common/profile/ProfileTreeBuilder.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/common/profile/ProfileTreeBuilder.java
@@ -160,10 +160,12 @@ public class ProfileTreeBuilder {
 
     private void analyzeAndBuildFragmentTree(RuntimeProfile fragmentProfile) 
throws UserException {
         String fragmentId = getFragmentId(fragmentProfile);
+        LOG.info("yyy2 fragmentId = {}", fragmentId);
         List<Pair<RuntimeProfile, Boolean>> fragmentChildren = 
fragmentProfile.getChildList();
         if (fragmentChildren.isEmpty()) {
             throw new UserException("Empty instance in fragment: " + 
fragmentProfile.getName());
         }
+        LOG.info("yyy3 fragment child num = {}", fragmentChildren.size());
 
         // 1. Get max active time of instances in this fragment
         List<Triple<String, String, Long>> instanceIdAndActiveTimeList = 
Lists.newArrayList();
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/common/util/RuntimeProfile.java 
b/fe/fe-core/src/main/java/org/apache/doris/common/util/RuntimeProfile.java
index e3e61faf18..999961fa9c 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/common/util/RuntimeProfile.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/common/util/RuntimeProfile.java
@@ -363,7 +363,7 @@ public class RuntimeProfile {
         if (child == null) {
             return;
         }
-
+        LOG.info("try to add child {}, {}", name, child.getName(), new 
Exception());
         childLock.writeLock().lock();
         try {
             if (childMap.containsKey(child.name)) {
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/QeProcessorImpl.java 
b/fe/fe-core/src/main/java/org/apache/doris/qe/QeProcessorImpl.java
index 81a6bdf4d2..1ed4a5d7be 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/QeProcessorImpl.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/QeProcessorImpl.java
@@ -179,6 +179,11 @@ public final class QeProcessorImpl implements QeProcessor {
 
     @Override
     public TReportExecStatusResult reportExecStatus(TReportExecStatusParams 
params, TNetworkAddress beAddr) {
+        try {
+            Thread.currentThread().sleep(1000);
+        } catch (Exception e) {
+            LOG.info("");
+        }
         if (params.isSetProfile()) {
             LOG.info("ReportExecStatus(): fragment_instance_id={}, query 
id={}, backend num: {}, ip: {}",
                     DebugUtil.printId(params.fragment_instance_id), 
DebugUtil.printId(params.query_id),


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

Reply via email to