← ClaudeAtlas

cpu-profile-analysislisted

Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-*.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating user timing marks.
Pointa-Labs/basehalf · ★ 15 · Data & Documents · score 73
Install: claude install-skill Pointa-Labs/basehalf
# Analyze Performance Profiles Analyze `.cpuprofile` files (V8 sampling profiler) and DevTools trace files (`Trace-*.json`, Chrome Trace Event Format) to find performance bottlenecks, compare code paths, and understand timing. ## When to Use - User provides a `.cpuprofile` or `Trace-*.json` file and wants to understand performance - Investigating why one code path is slower than another - Finding what functions consume the most time - Comparing "before/after" or "old/new" implementations in a single profile - Investigating layout thrashing, long tasks, or rendering bottlenecks (trace files) - Analyzing VS Code user timing marks like `code/didResolveTextFileEditorModel` (trace files) - Understanding multi-process behavior (Browser, Renderer, GPU processes in trace files) ## Detecting File Type - **`.cpuprofile`**: Top-level JSON with `nodes`, `samples`, `timeDeltas` keys. Created by the VS Code profiler. - **`Trace-*.json`**: Top-level JSON with `traceEvents` array (and optional `metadata`). Created by Chrome/Electron DevTools (Performance tab). These are richer than `.cpuprofile` -- they contain CPU samples, layout/paint events, user timing marks, GC events, input events, and multi-process data. ## Key Concepts - **Sampling profiler**: The profiler periodically snapshots the call stack. Not every function appears -- only those on the stack when the profiler sampled. Don't expect exact function names; look for patterns and nearby activity. - **Self time**: Time spent in