fix(web-probe): keep rounds in compact analyze output (#775)

Co-authored-by: Codex <codex@noreply.local>
This commit is contained in:
Lyon
2026-06-24 04:04:34 +08:00
committed by GitHub
parent ee565d3f42
commit 05495577f7
+19 -4
View File
@@ -8664,13 +8664,16 @@ function runNodeWebProbeObserveAnalyze(options: NodeWebProbeObserveOptions, spec
"const compactOutput = (value) => JSON.stringify(value);",
"let output = compactOutput(compact);",
"if (Buffer.byteLength(output, 'utf8') > compactStdoutLimitBytes) {",
" const minimalRounds = takeTail(firstNonEmptyArray(compact.sampleMetrics?.rounds, compact.sampleMetrics?.roundItems, source?.sampleMetrics?.rounds, fullRecentMetrics?.rounds, fullArchiveMetrics?.rounds), 8).map(slimRound);",
" const minimalTurnColumns = takeTail(firstNonEmptyArray(compact.sampleMetrics?.turnColumns, source?.sampleMetrics?.turnColumns, fullRecentMetrics?.turnColumns, fullArchiveMetrics?.turnColumns), 8).map(slimTurnColumn);",
" const minimal = {",
" ok: compact.ok,",
" counts: compact.counts ?? null,",
" analysisWindow: compact.analysisWindow ?? null,",
" archiveSummary: compact.archiveSummary ?? null,",
" sampleMetrics: compact.sampleMetrics ? {",
" rounds: Array.isArray(compact.sampleMetrics.rounds) ? compact.sampleMetrics.rounds : compact.sampleMetrics.rounds ?? null,",
" roundItems: minimalRounds,",
" rounds: minimalRounds,",
" sampleCount: compact.sampleMetrics.sampleCount ?? null,",
" loadingSampleCount: compact.sampleMetrics.loadingSampleCount ?? null,",
" loadingMaxCount: compact.sampleMetrics.loadingMaxCount ?? null,",
@@ -8697,7 +8700,7 @@ function runNodeWebProbeObserveAnalyze(options: NodeWebProbeObserveOptions, spec
" turnTimingRecentUpdateJumpCount: compact.sampleMetrics.turnTimingRecentUpdateJumpCount ?? null,",
" turnTimingRecentUpdateSawtoothJumpCount: compact.sampleMetrics.turnTimingRecentUpdateSawtoothJumpCount ?? null,",
" turnTimingRecentUpdateMaxIncreaseSeconds: compact.sampleMetrics.turnTimingRecentUpdateMaxIncreaseSeconds ?? null,",
" turnColumns: Array.isArray(compact.sampleMetrics.turnColumns) ? compact.sampleMetrics.turnColumns.slice(-6) : []",
" turnColumns: minimalTurnColumns",
" } : null,",
" runtimeAlerts: compact.runtimeAlerts ?? null,",
" pagePerformance: compact.pagePerformance ?? null,",
@@ -8871,14 +8874,26 @@ function withWebObserveAnalyzeRendered(value: Record<string, unknown>): Rendered
}
function renderWebObserveAnalyzeTable(value: Record<string, unknown>): string {
const analysis = record(value.analysis);
const analysis = record(value.analysis) ?? value;
const analyzer = record(analysis?.analyzer);
const result = record(value.result);
const counts = record(analysis?.counts);
const jsonlScope = record(analysis?.jsonlScope);
const analysisWindow = record(analysis?.analysisWindow);
const archiveSummary = record(analysis?.archiveSummary);
const sampleMetrics = record(analysis?.sampleMetrics);
const nestedSampleMetrics = record(analysis?.sampleMetrics);
const directSampleMetrics = record(value.sampleMetrics);
const hasRenderableTurnMetrics = (item: Record<string, unknown> | null): boolean => {
if (!item) return false;
return (Array.isArray(item.roundItems) && item.roundItems.length > 0)
|| (Array.isArray(item.rounds) && item.rounds.length > 0)
|| (Array.isArray(item.turnColumns) && item.turnColumns.length > 0);
};
const sampleMetrics = hasRenderableTurnMetrics(nestedSampleMetrics)
? nestedSampleMetrics
: hasRenderableTurnMetrics(directSampleMetrics)
? directSampleMetrics
: nestedSampleMetrics ?? directSampleMetrics;
const archiveMetrics = record(archiveSummary?.sampleMetrics);
const archivePagePerformance = record(archiveSummary?.pagePerformance);
const runtimeAlerts = record(analysis?.runtimeAlerts);