(enhance)(InternalQuery) Support to collect profile for intenal query (#28762)

This commit is contained in:
AlexYue
2023-12-22 14:03:48 +08:00
committed by GitHub
parent d1e1619e89
commit 007f498f3b
4 changed files with 14 additions and 1 deletions

View File

@ -2778,6 +2778,9 @@ public class StmtExecutor {
}
AuditLogHelper.logAuditLog(context, originStmt.toString(), parsedStmt, getQueryStatisticsForAuditLog(),
true);
if (Config.enable_collect_internal_query_profile) {
updateProfile(true);
}
QeProcessorImpl.INSTANCE.unregisterQuery(context.queryId());
}
}

View File

@ -22,6 +22,7 @@ import org.apache.doris.catalog.Column;
import org.apache.doris.catalog.DatabaseIf;
import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.TableIf;
import org.apache.doris.common.util.DebugUtil;
import org.apache.doris.datasource.CatalogIf;
import org.apache.doris.qe.AutoCloseConnectContext;
import org.apache.doris.qe.StmtExecutor;
@ -313,12 +314,15 @@ public abstract class BaseAnalysisTask {
protected void runQuery(String sql) {
long startTime = System.currentTimeMillis();
String queryId = "";
try (AutoCloseConnectContext a = StatisticsUtil.buildConnectContext()) {
stmtExecutor = new StmtExecutor(a.connectContext, sql);
ColStatsData colStatsData = new ColStatsData(stmtExecutor.executeInternalQuery().get(0));
queryId = DebugUtil.printId(stmtExecutor.getContext().queryId());
job.appendBuf(this, Collections.singletonList(colStatsData));
} finally {
LOG.debug("End cost time in secs: " + (System.currentTimeMillis() - startTime) / 1000);
LOG.debug("End cost time in millisec: " + (System.currentTimeMillis() - startTime)
+ " Analyze SQL: " + sql + " QueryId: " + queryId);
}
}

View File

@ -181,6 +181,7 @@ public class StatisticsUtil {
sessionVariable.cpuResourceLimit = Config.cpu_resource_limit_per_analyze_task;
sessionVariable.setEnableInsertStrict(true);
sessionVariable.enablePageCache = false;
sessionVariable.enableProfile = Config.enable_profile_when_analyze;
sessionVariable.parallelExecInstanceNum = Config.statistics_sql_parallel_exec_instance_num;
sessionVariable.parallelPipelineTaskNum = Config.statistics_sql_parallel_exec_instance_num;
sessionVariable.setEnableNereidsPlanner(true);