You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/skills/chat-perf/SKILL.md
+26-21Lines changed: 26 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,9 @@
1
-
# Chat Performance Testing
1
+
---
2
+
name: chat-perf
3
+
description: Run chat perf benchmarks and memory leak checks against the local dev build or any published VS Code version. Use when investigating chat rendering regressions, validating perf-sensitive changes to chat UI, or checking for memory leaks in the chat response pipeline.
4
+
---
2
5
3
-
Run chat perf benchmarks and memory leak checks against the local dev build or any published VS Code version. Use when investigating chat rendering regressions, validating perf-sensitive changes to chat UI, or checking for memory leaks in the chat response pipeline.
6
+
# Chat Performance Testing
4
7
5
8
## When to use
6
9
@@ -38,12 +41,16 @@ Launches VS Code via Playwright Electron, opens the chat panel, sends a message
38
41
| Flag | Default | Description |
39
42
|---|---|---|
40
43
|`--runs <n>`|`5`| Runs per scenario. More = more stable. Use 5+ for CI. |
41
-
|`--scenario <id>`| all | Scenario to test (repeatable). See scenarios below. |
42
-
|`--build <path\|ver>`| local dev | Build to test. Accepts path or version (`1.110.0`, `insiders`). |
43
-
|`--baseline-build <ver>`|`1.115.0`| Version to download and compare against. |
44
+
|`--scenario <id>` / `-s`| all | Scenario to test (repeatable). See `common/perf-scenarios.js`. |
45
+
|`--build <path\|ver>` / `-b`| local dev | Build to test. Accepts path or version (`1.110.0`, `insiders`, commit hash). |
46
+
|`--baseline <path>`| — | Compare against a previously saved baseline JSON file. |
47
+
|`--baseline-build <ver>`|`1.115.0`| Version to download and benchmark as baseline. |
├── fixtures/ # TypeScript fixture files used by tool-call scenarios
148
153
├── test-chat-perf-regression.js
149
154
└── test-chat-mem-leaks.js
150
155
```
@@ -163,6 +168,6 @@ The copilot extension connects to this server via `IS_SCENARIO_AUTOMATION=1` mod
163
168
164
169
### Adding a scenario
165
170
166
-
1. Add a new entry to the `SCENARIOS` object in `common/mock-llm-server.js`— an array of string chunks that will be streamed as SSE
167
-
2.Add the scenario ID to the `SCENARIOS` array in `common/utils.js`
171
+
1. Add a new entry to the appropriate object (`CONTENT_SCENARIOS`, `TOOL_CALL_SCENARIOS`, or `MULTI_TURN_SCENARIOS`) in `common/perf-scenarios.js`using the `ScenarioBuilder` API from `common/mock-llm-server.js`
172
+
2.The scenario is auto-registered by `registerPerfScenarios()` — no manual ID list to update
0 commit comments