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]