diff --git a/extensions/ql-vscode/src/log-insights/log-summary.ts b/extensions/ql-vscode/src/log-insights/log-summary.ts index 50435d51e1e..98cf661f3e0 100644 --- a/extensions/ql-vscode/src/log-insights/log-summary.ts +++ b/extensions/ql-vscode/src/log-insights/log-summary.ts @@ -33,6 +33,7 @@ interface ResultEventBase extends SummaryEventBase { export interface ComputeSimple extends ResultEventBase { evaluationStrategy: "COMPUTE_SIMPLE"; ra: Ra; + millis: number; pipelineRuns?: [PipelineRun]; queryCausingWork?: string; dependencies: { [key: string]: string }; diff --git a/extensions/ql-vscode/src/log-insights/performance-comparison.ts b/extensions/ql-vscode/src/log-insights/performance-comparison.ts index 8b1ee1cedb7..567c9132497 100644 --- a/extensions/ql-vscode/src/log-insights/performance-comparison.ts +++ b/extensions/ql-vscode/src/log-insights/performance-comparison.ts @@ -104,7 +104,6 @@ export class PerformanceOverviewScanner implements EvaluationLogScanner { switch (event.evaluationStrategy) { case "EXTENSIONAL": case "COMPUTED_EXTENSIONAL": - case "COMPUTE_SIMPLE": case "CACHACA": { // TODO: is CACHACA effectively the same as cache hit? break; @@ -122,12 +121,17 @@ export class PerformanceOverviewScanner implements EvaluationLogScanner { break; } case "COMPUTE_RECURSIVE": + case "COMPUTE_SIMPLE": case "IN_LAYER": { const index = this.getPredicateIndex(event.predicateName); let totalTime = 0; let totalTuples = 0; - for (const millis of event.predicateIterationMillis ?? []) { - totalTime += millis; + if (event.evaluationStrategy === "COMPUTE_SIMPLE") { + totalTime += event.millis; + } else { + for (const millis of event.predicateIterationMillis ?? []) { + totalTime += millis; + } } const { timeCosts,