From cc10e8e75a6e77bac39029bc96051d370c44e32d Mon Sep 17 00:00:00 2001 From: Robert Date: Thu, 17 Apr 2025 16:03:01 +0000 Subject: [PATCH] Make fields in PipelineRun optional --- extensions/ql-vscode/src/log-insights/join-order.ts | 2 +- extensions/ql-vscode/src/log-insights/log-summary.ts | 4 ++-- .../ql-vscode/src/log-insights/performance-comparison.ts | 4 +++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/extensions/ql-vscode/src/log-insights/join-order.ts b/extensions/ql-vscode/src/log-insights/join-order.ts index 788da0a98e6..80bc6fda44e 100644 --- a/extensions/ql-vscode/src/log-insights/join-order.ts +++ b/extensions/ql-vscode/src/log-insights/join-order.ts @@ -488,7 +488,7 @@ class JoinOrderScanner implements EvaluationLogScanner { // Pointwise sum the tuple counts const newTupleCounts = pointwiseSum( bucket.tupleCounts, - new Int32Array(run.counts), + new Int32Array(run.counts ?? []), this.problemReporter, ); const resultSize = bucket.resultSize + deltaSize; diff --git a/extensions/ql-vscode/src/log-insights/log-summary.ts b/extensions/ql-vscode/src/log-insights/log-summary.ts index 5fa4bda58b8..1decbba93eb 100644 --- a/extensions/ql-vscode/src/log-insights/log-summary.ts +++ b/extensions/ql-vscode/src/log-insights/log-summary.ts @@ -1,7 +1,7 @@ export interface PipelineRun { raReference: string; - counts: number[]; - duplicationPercentages: number[]; + counts?: number[]; + duplicationPercentages?: number[]; } interface Ra { diff --git a/extensions/ql-vscode/src/log-insights/performance-comparison.ts b/extensions/ql-vscode/src/log-insights/performance-comparison.ts index 46634cf8bf3..34ba5ae2559 100644 --- a/extensions/ql-vscode/src/log-insights/performance-comparison.ts +++ b/extensions/ql-vscode/src/log-insights/performance-comparison.ts @@ -151,7 +151,9 @@ export class PerformanceOverviewScanner implements EvaluationLogScanner { pipelineSummaryList, } = this.data; const pipelineSummaries = pipelineSummaryList[index]; - for (const { counts, raReference } of event.pipelineRuns ?? []) { + for (const pipelineRun of event.pipelineRuns ?? []) { + const counts = pipelineRun.counts || []; + const raReference = pipelineRun.raReference; // Get or create the pipeline summary for this RA const pipelineSummary = (pipelineSummaries[raReference] ??= { steps: event.ra[raReference],