Skip to content

Commit c23228e

Browse files
authored
[Improvement](profile) add catalog info in profile (#38302)
bp #38283
1 parent d19b3a5 commit c23228e

File tree

4 files changed

+11
-20
lines changed

4 files changed

+11
-20
lines changed

fe/fe-core/src/main/java/org/apache/doris/common/profile/SummaryProfile.java

+7-1
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ public class SummaryProfile {
4343
public static final String TOTAL_TIME = "Total";
4444
public static final String TASK_STATE = "Task State";
4545
public static final String USER = "User";
46+
public static final String DEFAULT_CATALOG = "Default Catalog";
4647
public static final String DEFAULT_DB = "Default Db";
4748
public static final String SQL_STATEMENT = "Sql Statement";
4849
public static final String IS_CACHED = "Is Cached";
@@ -100,7 +101,7 @@ public class SummaryProfile {
100101
// a column, so that should not
101102
// add many columns here. Add to ExecutionSummary list.
102103
public static final ImmutableList<String> SUMMARY_KEYS = ImmutableList.of(PROFILE_ID, TASK_TYPE,
103-
START_TIME, END_TIME, TOTAL_TIME, TASK_STATE, USER, DEFAULT_DB, SQL_STATEMENT);
104+
START_TIME, END_TIME, TOTAL_TIME, TASK_STATE, USER, DEFAULT_CATALOG, DEFAULT_DB, SQL_STATEMENT);
104105

105106
// The display order of execution summary items.
106107
public static final ImmutableList<String> EXECUTION_SUMMARY_KEYS = ImmutableList.of(
@@ -536,6 +537,11 @@ public SummaryBuilder user(String val) {
536537
return this;
537538
}
538539

540+
public SummaryBuilder defaultCatalog(String val) {
541+
map.put(DEFAULT_CATALOG, val);
542+
return this;
543+
}
544+
539545
public SummaryBuilder defaultDb(String val) {
540546
map.put(DEFAULT_DB, val);
541547
return this;

fe/fe-core/src/main/java/org/apache/doris/load/loadv2/BrokerLoadJob.java

+2
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import org.apache.doris.common.util.MetaLockUtils;
4242
import org.apache.doris.common.util.ProfileManager.ProfileType;
4343
import org.apache.doris.common.util.TimeUtils;
44+
import org.apache.doris.datasource.InternalCatalog;
4445
import org.apache.doris.datasource.property.constants.S3Properties;
4546
import org.apache.doris.load.BrokerFileGroup;
4647
import org.apache.doris.load.BrokerFileGroupAggInfo.FileGroupAggKey;
@@ -352,6 +353,7 @@ private Map<String, String> getSummaryInfo(boolean isFinished) {
352353
}
353354
builder.taskState("FINISHED");
354355
builder.user(getUserInfo() != null ? getUserInfo().getQualifiedUser() : "N/A");
356+
builder.defaultCatalog(InternalCatalog.INTERNAL_CATALOG_NAME);
355357
builder.defaultDb(getDefaultDb());
356358
builder.sqlStatement(getOriginStmt().originStmt);
357359
return builder.build();

fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java

+1
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,7 @@ private Map<String, String> getSummaryInfo(boolean isFinished) {
377377
builder.taskState(!isFinished && context.getState().getStateType().equals(MysqlStateType.OK) ? "RUNNING"
378378
: context.getState().toString());
379379
builder.user(context.getQualifiedUser());
380+
builder.defaultCatalog(context.getCurrentCatalog().getName());
380381
builder.defaultDb(context.getDatabase());
381382
builder.workloadGroup(context.getWorkloadGroupName());
382383
builder.sqlStatement(originStmt.originStmt);

regression-test/suites/query_profile/test_profile.groovy

+1-19
Original file line numberDiff line numberDiff line change
@@ -104,24 +104,6 @@ suite('test_profile') {
104104
nums.add(getRandomNumber(len + 1))
105105
sql """ SELECT * FROM ${table} WHERE cost ${ops[i]} ${nums[i]} """
106106
}
107-
108-
109-
/* test for `show query profile` stmt
110-
query profile header
111-
JobID|QueryId|User|DefaultDb|SQL|QueryType|StartTime|EndTime|TotalTime|QueryState */
112-
//———————— test for select stmt (SQL) ———————————
113-
log.info("test for show query profile stmt")
114-
List<List<Object>> show_query_profile_obj = sql """ show query profile "/" """
115-
log.info("found ${show_query_profile_obj.size} profile data".toString())
116-
assertTrue(show_query_profile_obj.size >= QUERY_NUM)
117-
118-
for(int i = 0 ; i < QUERY_NUM ; i++){
119-
def insert_order = QUERY_NUM - i - 1
120-
def current_obj = show_query_profile_obj[i]
121-
def stmt_query_info = current_obj[9]
122-
assertNotEquals(current_obj[1].toString(), "N/A".toString())
123-
assertEquals(stmt_query_info.toString(), """ SELECT * FROM ${table} WHERE cost ${ops[insert_order]} ${nums[insert_order]} """.toString())
124-
}
125107

126108
//———————— test for select stmt (HTTP)————————
127109
log.info("test HTTP API interface for query profile")
@@ -138,7 +120,7 @@ suite('test_profile') {
138120

139121
assertNotNull(stmt_query_info["Profile ID"])
140122
assertNotEquals(stmt_query_info["Profile ID"].toString(), "N/A".toString())
141-
123+
assertNotNull(stmt_query_info["Default Catalog"])
142124
assertEquals(stmt_query_info['Sql Statement'].toString(),
143125
""" SELECT * FROM ${table} WHERE cost ${ops[insert_order]} ${nums[insert_order]} """.toString())
144126
}

0 commit comments

Comments
 (0)