feat: add Apple xctrace perf profiling#755
Conversation
|
Size Report
Startup median (7 runs, lower is better):
Top changed chunks:
|
af8d959 to
e68d49e
Compare
Code reviewVerdict: significant issues — the process-lifecycle gaps reproduce exactly the stale-xctrace failure hit during validation; security and grammar wiring are otherwise sound. Findings
Verified cleanNo command injection (arg arrays with Conflict analysis with siblings#757 hard-conflicts both textually and semantically — it edits the same hunks of OverallThe feature wiring, contracts, and security posture are solid, and the start/stop model is the right answer to the 90 s budget. But the PR ships the exact failure mode its own validation uncovered — findings 1-3 should be fixed before merge, and the #757 grammar collision needs an explicit coordination decision. Generated by Claude Code |
e68d49e to
83c5107
Compare
|
Addressed the xctrace lifecycle review feedback in commit 83c5107. What changed:
Validation passed locally:
No raw |
Summary
Adds Apple native xctrace collection under the consolidated
perffamily for #694.perf cpu profile start|stop|report --kind xctraceandperf trace start|stop --kind xctrace..tracecontents as artifacts only.Refs #697
Refs #694
Touched files: 23.
Validation
Worker validation passed:
pnpm typecheck.pnpm check:unit: 247 unit files, 2335 tests, 8 smoke tests.pnpm format.pnpm build.pnpm clean:daemon.git diff --check.iOS simulator E2E:
iPhone 17, UDIDEE00C210-642F-4AAD-B4DE-94892624F5A4.com.apple.mobilesafari, sessionxctrace697-final.perf metricssucceeded;perf framesreported the expected simulator support limitation.perf cpu profile start/stop/report --kind xctracesucceeded, wrote.tmp/xctrace697/final-profile.trace, and honored--outfor.tmp/xctrace697/final-profile.json.perf trace start --kind xctrace --template "Animation Hitches"started and produced a.tracebundle; stop surfaced Apple’s simulator limitation:Hitches is not supported on this platform.Physical iPhone
00008150-001849640CF8401Cwas visible and Safari opened, but baselineperf metricstimed out after the daemon 90s request budget before profile/trace verification could safely proceed. The worker cleaned the stale xctrace process afterward.SkillGym case was added but not runnable in the sandbox because external runner approval was denied.