Show query results before structured evaluator log summary completes (#1350)
This commit is contained in:
@@ -812,13 +812,16 @@ export class QueryHistoryManager extends DisposableObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private warnNoEvalLog() {
|
private warnNoEvalLog() {
|
||||||
void showAndLogWarningMessage('No evaluator log is available for this run. Perhaps it failed before evaluation, or you are running with a version of CodeQL before ' + CliVersionConstraint.CLI_VERSION_WITH_PER_QUERY_EVAL_LOG + '?');
|
void showAndLogWarningMessage(`No evaluator log is available for this run. Perhaps it failed before evaluation, or you are running with a version of CodeQL before ' + ${CliVersionConstraint.CLI_VERSION_WITH_PER_QUERY_EVAL_LOG}?`);
|
||||||
}
|
}
|
||||||
|
|
||||||
private warnNoEvalLogSummary() {
|
private warnNoEvalLogSummary() {
|
||||||
void showAndLogWarningMessage(`No evaluator log summary is available for this run. Perhaps it failed before evaluation, or you are running with a version of CodeQL before ${CliVersionConstraint.CLI_VERSION_WITH_PER_QUERY_EVAL_LOG}?`);
|
void showAndLogWarningMessage(`Evaluator log summary and evaluator log are not available for this run. Perhaps they failed before evaluation, or you are running with a version of CodeQL before ${CliVersionConstraint.CLI_VERSION_WITH_PER_QUERY_EVAL_LOG}?`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private warnInProgressEvalLogSummary() {
|
||||||
|
void showAndLogWarningMessage('The evaluator log summary is still being generated. Please try again later. The summary generation process is tracked in the "CodeQL Extension Log" view.');
|
||||||
|
}
|
||||||
|
|
||||||
async handleShowEvalLog(
|
async handleShowEvalLog(
|
||||||
singleItem: QueryHistoryInfo,
|
singleItem: QueryHistoryInfo,
|
||||||
@@ -851,8 +854,15 @@ export class QueryHistoryManager extends DisposableObject {
|
|||||||
|
|
||||||
if (finalSingleItem.evalLogSummaryLocation) {
|
if (finalSingleItem.evalLogSummaryLocation) {
|
||||||
await this.tryOpenExternalFile(finalSingleItem.evalLogSummaryLocation);
|
await this.tryOpenExternalFile(finalSingleItem.evalLogSummaryLocation);
|
||||||
} else {
|
}
|
||||||
this.warnNoEvalLogSummary();
|
// Summary log file doesn't exist.
|
||||||
|
else {
|
||||||
|
if (finalSingleItem.evalLogLocation && fs.pathExists(finalSingleItem.evalLogLocation)) {
|
||||||
|
// If raw log does exist, then the summary log is still being generated.
|
||||||
|
this.warnInProgressEvalLogSummary();
|
||||||
|
} else {
|
||||||
|
this.warnNoEvalLogSummary();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -199,15 +199,21 @@ export class QueryEvaluationInfo {
|
|||||||
});
|
});
|
||||||
if (await this.hasEvalLog()) {
|
if (await this.hasEvalLog()) {
|
||||||
queryInfo.evalLogLocation = this.evalLogPath;
|
queryInfo.evalLogLocation = this.evalLogPath;
|
||||||
await qs.cliServer.generateLogSummary(this.evalLogPath, this.evalLogSummaryPath, this.evalLogEndSummaryPath);
|
void qs.cliServer.generateLogSummary(this.evalLogPath, this.evalLogSummaryPath, this.evalLogEndSummaryPath)
|
||||||
queryInfo.evalLogSummaryLocation = this.evalLogSummaryPath;
|
.then(() => {
|
||||||
fs.readFile(this.evalLogEndSummaryPath, (err, buffer) => {
|
queryInfo.evalLogSummaryLocation = this.evalLogSummaryPath;
|
||||||
if (err) {
|
fs.readFile(this.evalLogEndSummaryPath, (err, buffer) => {
|
||||||
throw new Error(`Could not read structured evaluator log end of summary file at ${this.evalLogEndSummaryPath}.`);
|
if (err) {
|
||||||
}
|
throw new Error(`Could not read structured evaluator log end of summary file at ${this.evalLogEndSummaryPath}.`);
|
||||||
void qs.logger.log(' --- Evaluator Log Summary --- ');
|
}
|
||||||
void qs.logger.log(buffer.toString());
|
void qs.logger.log(' --- Evaluator Log Summary --- ');
|
||||||
});
|
void qs.logger.log(buffer.toString());
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
|
.catch(err => {
|
||||||
|
void showAndLogWarningMessage(`Failed to generate structured evaluator log summary. Reason: ${err.message}`);
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
void showAndLogWarningMessage(`Failed to write structured evaluator log to ${this.evalLogPath}.`);
|
void showAndLogWarningMessage(`Failed to write structured evaluator log to ${this.evalLogPath}.`);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user