diff --git a/README.md b/README.md index df65ded278..5b8305e8d7 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,19 @@ npm run e2e ## Measures +### TrackedEverything + +Records every source-observable value creation in the VS Code renderer from the +first instrumented startup script through the end of the measured scenario. +The result includes a lossless allocation-order stream and an interactive +timeline city. This exhaustive instrumentation substantially changes runtime +performance and memory use and does not include hidden V8 or Chromium +allocations. + +```sh +node packages/cli/bin/test.js --cwd packages/e2e --measure tracked-everything --only base +``` + ### MemoryCity Captures allocation-aware renderer and extension-host heap snapshots, computes diff --git a/packages/charts/src/parts/GenerateCharts/GenerateCharts.ts b/packages/charts/src/parts/GenerateCharts/GenerateCharts.ts index 2d1374b785..9f5dd1e498 100644 --- a/packages/charts/src/parts/GenerateCharts/GenerateCharts.ts +++ b/packages/charts/src/parts/GenerateCharts/GenerateCharts.ts @@ -160,4 +160,22 @@ export const generateCharts = async () => { throw error } } + + const trackedEverythingResults = join(Root.root, '.vscode-memory-leak-finder-results', 'tracked-everything') + try { + await access(trackedEverythingResults) + await execFileAsync(process.execPath, [ + join(Root.root, 'packages', 'visualizations', 'src', 'generateTrackedEverything.ts'), + '--results', + trackedEverythingResults, + '--assets', + join(Root.root, 'packages', 'visualizations', 'dist'), + '--out', + join(Root.root, '.vscode-charts', 'tracked-everything'), + ]) + } catch (error) { + if ((error as NodeJS.ErrnoException).code !== 'ENOENT') { + throw error + } + } } diff --git a/packages/charts/src/parts/GenerateIndexHtml/GenerateIndexHtml.ts b/packages/charts/src/parts/GenerateIndexHtml/GenerateIndexHtml.ts index 2c0ea1b038..cefb77aacb 100644 --- a/packages/charts/src/parts/GenerateIndexHtml/GenerateIndexHtml.ts +++ b/packages/charts/src/parts/GenerateIndexHtml/GenerateIndexHtml.ts @@ -29,6 +29,11 @@ const baseStructure = ` const getMiddleHtml = (dirents: string[]) => { let html = '