Add connection id to CurrentQueryStatisticsProcDir (#355)

This commit is contained in:
chenhao
2018-11-27 14:28:39 +08:00
committed by ZHAO Chun
parent cddd864d83
commit b2d89dfee9
3 changed files with 19 additions and 1 deletions

View File

@ -34,7 +34,7 @@ import java.util.Map;
*/
public class CurrentQueryStatisticsProcDir implements ProcDirInterface {
public static final ImmutableList<String> TITLE_NAMES = new ImmutableList.Builder<String>()
.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 class CurrentQueryStatisticsProcDir implements ProcDirInterface {
final List<List<String>> sortedRowData = Lists.newArrayList();
for (QueryStatisticsItem item : statistic.values()) {
final List<String> values = Lists.newArrayList();
values.add(item.getConnId());
values.add(item.getQueryId());
values.add(item.getDb());
values.add(item.getUser());

View File

@ -77,6 +77,7 @@ public final class QeProcessorImpl implements QeProcessor {
.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);

View File

@ -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<FragmentInstanceInfo> fragmentInstanceInfos;
@ -39,6 +40,7 @@ public final class QueryStatisticsItem {
this.db = builder.db;
this.queryStartTime = builder.queryStartTime;
this.fragmentInstanceInfos = builder.fragmentInstanceInfos;
this.connId = builder.connId;
}
public String getDb() {
@ -53,6 +55,10 @@ public final class QueryStatisticsItem {
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 final class QueryStatisticsItem {
private String db;
private String user;
private String sql;
private String connId;
private long queryStartTime;
private List<FragmentInstanceInfo> fragmentInstanceInfos;
@ -98,6 +105,11 @@ public final class QueryStatisticsItem {
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 @@ public final class QueryStatisticsItem {
if (user == null) {
builder.user = "";
}
if (connId == null) {
builder.connId = "";
}
}
}