diff --git a/fe/src/main/java/org/apache/doris/common/proc/CurrentQueryStatisticsProcDir.java b/fe/src/main/java/org/apache/doris/common/proc/CurrentQueryStatisticsProcDir.java index c100e09b47f8e5..566a4831257aea 100644 --- a/fe/src/main/java/org/apache/doris/common/proc/CurrentQueryStatisticsProcDir.java +++ b/fe/src/main/java/org/apache/doris/common/proc/CurrentQueryStatisticsProcDir.java @@ -34,7 +34,7 @@ */ public class CurrentQueryStatisticsProcDir implements ProcDirInterface { public static final ImmutableList TITLE_NAMES = new ImmutableList.Builder() - .add("QueryId").add("Database").add("User").add("ExecTime").build(); + .add("ConnectionId").add("QueryId").add("Database").add("User").add("ExecTime").build(); private static final int EXEC_TIME_INDEX = 3; @@ -64,6 +64,7 @@ public ProcResult fetchResult() throws AnalysisException { final List> sortedRowData = Lists.newArrayList(); for (QueryStatisticsItem item : statistic.values()) { final List values = Lists.newArrayList(); + values.add(item.getConnId()); values.add(item.getQueryId()); values.add(item.getDb()); values.add(item.getUser()); diff --git a/fe/src/main/java/org/apache/doris/qe/QeProcessorImpl.java b/fe/src/main/java/org/apache/doris/qe/QeProcessorImpl.java index 4261094643807b..1af14eb07d9965 100644 --- a/fe/src/main/java/org/apache/doris/qe/QeProcessorImpl.java +++ b/fe/src/main/java/org/apache/doris/qe/QeProcessorImpl.java @@ -77,6 +77,7 @@ public Map getQueryStatistics() { .queryStartTime(info.getStartExecTime()) .sql(info.getSql()) .user(context.getQualifiedUser()) + .connId(String.valueOf(context.getConnectionId())) .db(context.getDatabase()).fragmentInstanceInfos(info.getCoord() .getFragmentInstanceInfos()).build(); querySet.put(queryIdStr, item); diff --git a/fe/src/main/java/org/apache/doris/qe/QueryStatisticsItem.java b/fe/src/main/java/org/apache/doris/qe/QueryStatisticsItem.java index 37a6a1bc26f9bb..f2c72d784dfaa0 100644 --- a/fe/src/main/java/org/apache/doris/qe/QueryStatisticsItem.java +++ b/fe/src/main/java/org/apache/doris/qe/QueryStatisticsItem.java @@ -29,6 +29,7 @@ public final class QueryStatisticsItem { private final String user; private final String sql; private final String db; + private final String connId; private final long queryStartTime; private List fragmentInstanceInfos; @@ -39,6 +40,7 @@ private QueryStatisticsItem(Builder builder) { this.db = builder.db; this.queryStartTime = builder.queryStartTime; this.fragmentInstanceInfos = builder.fragmentInstanceInfos; + this.connId = builder.connId; } public String getDb() { @@ -53,6 +55,10 @@ public String getSql() { return sql; } + public String getConnId() { + return connId; + } + public String getQueryExecTime() { final long currentTime = System.currentTimeMillis(); return String.valueOf(currentTime - queryStartTime); @@ -71,6 +77,7 @@ public static final class Builder { private String db; private String user; private String sql; + private String connId; private long queryStartTime; private List fragmentInstanceInfos; @@ -98,6 +105,11 @@ public Builder sql(String sql) { return this; } + public Builder connId(String connId) { + this.connId = connId; + return this; + } + public Builder queryStartTime(long queryStartTime) { this.queryStartTime = queryStartTime; return this; @@ -129,6 +141,10 @@ private void initDefaultValue(Builder builder) { if (user == null) { builder.user = ""; } + + if (connId == null) { + builder.connId = ""; + } } }