Dev & Engineering ✓ Microsoft · Official cpu-profilechrome-tracev8performance-analysisbottleneck-detectionlayout-rendering

CPU Profile Analyzer

Find performance bottlenecks in V8 and DevTools performance files.

FollowSkills review · FSRS-2.0
Use with care
52/ 100 5-point scale 2.6 / 5
1 2 3 4 5 6
1Trust16 / 25 · 3.2/5

The skill primarily reads and analyzes local performance files and requests no credentials, network service, or elevated privilege. However, its small-file procedure overwrites the original profile/trace, without confirmation, backup, or rollback, and it does not disclose that performance data may expose sensitive code paths; points are deducted for these gaps.

2Reliability8 / 20 · 2.0/5

The file detection, data structures, and analysis workflow are broadly coherent, with a stated approach for very large files. However, there are no skill-specific tests, the parsers rely on exact JSON formatting assumptions, and handling and feedback for missing fields, malformed input, and parse failures are thin; the static ceiling also limits the score.

3Adaptability10 / 15 · 3.3/5

The skill clearly covers cpuprofile and Chrome trace inputs, CPU, layout, rendering, GC, input latency, and multi-process scenarios, with reasonably clear triggers. It does not sufficiently define non-fit cases, input variants, output contracts, or Chinese-language and local-network adaptation, so points are deducted.

4Convention8 / 15 · 2.7/5

The documentation is readable and layered, with sections for formats, procedures, examples, limitations, and large-file handling. It lacks skill-specific versioning, changelog, maintenance ownership, update path, installation notes, and troubleshooting; repository-level MIT and Microsoft metadata do not fully replace those disclosures.

5Effectiveness6 / 15 · 2.0/5

The skill provides a practically useful workflow, code fragments, metrics, and a report structure that can guide a Node.js analysis. However, it offers no ready-to-run command, verified sample output, or direct result artifact; users must integrate and potentially correct the snippets, limiting completeness and demonstrated marginal benefit.

6Verifiability4 / 10 · 2.0/5

The SKILL.md is auditable primary material, and the repository has general CI and test infrastructure. The supplied CI and tests do not directly cover this skill's key paths, and there are no skill-specific tests, real execution results, or independent corroboration, so static verifiability remains limited.

Evidence confidence:Low Reviewed Jul 20, 2026 Reviewed revision 5b3e1be7be9e
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
Before you use it
  • The small-file reformatting example writes directly to the input file; users should make a copy and confirm before using it.
  • The large-file parsers depend on strict JSON key formatting and may fail on whitespace, escaped strings, or format variants.
  • There is no skill-specific test suite, executable entry point, or sample result; treat outputs as approximate and manually validate timelines, samples, and trace correlations.
  • Profiles and traces may contain file paths, function names, user activity, or business data; redact them before sharing.
See the full review method →

What does this skill do, and when should you use it?

This skill analyzes V8 sampling-profiler .cpuprofile files and Chrome/Electron DevTools Trace-*.json files. It reconstructs timelines and call stacks, calculates self time and total time, and compares code paths. For DevTools traces, it also examines long tasks, layout and paint work, user timing marks, garbage collection, input latency, and Browser, Renderer, and GPU processes. It is an individual skill in the microsoft/vscode repository, which is licensed under MIT.

Reads and parses .cpuprofile and Trace-*.json files; selects JSON.parse or Buffer-based extraction based on file size; builds node and parent maps, reconstructs timestamps from timeDeltas, and walks sampled call stacks for CPU profiles; identifies the Renderer CrRendererMain thread, user timing marks, tasks longer than 50 milliseconds, slow FunctionCall events, layout and paint events, GC events, and input events in traces; can reconstruct embedded CPU profiles from ProfileChunk events; and produces timelines, durations, function-cost summaries, key stacks, and process breakdowns through Node.js analysis scripts.

  1. A VS Code developer has a .cpuprofile and needs to identify the functions consuming the most CPU time.
  2. An engineer compares old and new implementations represented in one profile and wants to locate differences between their cost centers.
  3. A performance investigator examines a Trace-*.json file for long tasks, layout thrashing, paint cost, or rendering bottlenecks.
  4. A developer needs to measure milestones such as code/willResolveTextFileEditorModel and code/didResolveTextFileEditorModel from user timing marks.
  5. A team needs to understand what the Renderer, Browser, and GPU processes did during a performance recording.

What are this skill's strengths and limitations?

Pros
  • Covers both V8 CPU profiles and Chrome/Electron DevTools traces.
  • Goes beyond call stacks and function timing to cover long tasks, user timing, layout and paint, GC, input latency, and multi-process behavior.
  • Explicitly distinguishes self time, total time, wall-clock duration, and thread duration, helping separate CPU work from waiting or suspension.
  • Provides a Buffer-based strategy for very large files and recommends filtering to relevant processes and threads to reduce noise.
Limitations
  • The SKILL.md provides procedures and example scripts rather than a standalone analyzer or test suite.
  • It requires local file access, file writing, and a Node.js runtime; the agent must also be able to execute analysis scripts.
  • Sampling does not capture every function, and bundled or minified code may have missing or mangled names, so findings are approximate and pattern-based.
  • The source does not document validation on applications or platforms outside the VS Code-related scenarios described.

How do you install this skill?

The repository contains 61 skills; this skill is located at .github/skills/cpu-profile-analysis/SKILL.md. The supplied README does not document an independent installation command or a procedure for copying the file into another client, so use the directory through the loading mechanism of the Agent Skills-compatible client in use. The repository source is licensed under MIT.

How do you use this skill?

Provide a .cpuprofile or Trace-*.json file to an agent that supports the skill and ask a concrete question, for example: “Analyze this Trace-*.json and identify Renderer main-thread tasks over 50ms, the longest function calls, and expensive layout events.” For files larger than approximately 400MB, use Buffer-based parsing and run the analysis script with node --max-old-space-size=16384; the SKILL.md supplies the relevant scripts and procedures.

FAQ

Does this skill require network access?
The documented workflow reads local profile or trace files and runs local Node.js scripts; it does not state that network access is required.
What input files does it support?
It supports .cpuprofile files with nodes, samples, and timeDeltas, and Trace-*.json files with a traceEvents array.
What happens with very large files?
Files below approximately 400MB can use JSON.parse; larger files should use Buffer-based parsing. The documentation also recommends node --max-old-space-size=16384 and filtering irrelevant events while parsing traces.
Does it automatically fix performance problems?
No. It identifies timelines, costly functions, stacks, and rendering or process activity and reports findings; the source does not describe automatic code changes or performance fixes.

More skills from this repository

All from microsoft/vscode

Dev & Engineering ✓ Microsoft · Official

V8 Heap Snapshot Analyzer

Trace V8 heap retention paths to diagnose leaks and GC-surviving objects.

Dev & Engineering ✓ Microsoft · Official

VS Code Chat Performance Lab

Benchmark chat rendering and detect memory growth across VS Code builds.

Dev & Engineering ✓ Microsoft · Official

VS Code Telemetry Error Fix Guide

Trace unhandled telemetry errors to invalid-data producers instead of masking the crash site.

Dev & Engineering ✓ Microsoft · Official

Copilot Chat OpenTelemetry Instrumentation

A repository-specific guide for consistent OpenTelemetry instrumentation in Copilot Chat.

Dev & Engineering ✓ Microsoft · Official

VS Code Agents Window Sessions

Safely implement and repair VS Code Agents window features.

Design & Frontend ✓ Microsoft · Official

VS Code CSS Layout Standards

Build reliable VS Code-style CSS layouts and text truncation behavior

Dev & Engineering ✓ Microsoft · Official

Code OSS Development Log Viewer

Locate and inspect the latest Code OSS development logs.

Dev & Engineering ✓ Microsoft · Official

Project Instruction Builder

Turn conversation patterns and preferences into a durable project instruction file.

Dev & Engineering ✓ Microsoft · Official

Session Code Review

Review the current session's code changes and place actionable findings directly on the relevant lines.

Dev & Engineering ✓ Microsoft · Official

Copilot Session Troubleshooter

Explain unexpected Copilot CLI behavior from session-log evidence.

Dev & Engineering ✓ Microsoft · Official

Workflow Skill Builder

Turns a conversation's working method into a reusable SKILL.md.

Dev & Engineering ✓ Microsoft · Official

Copilot Chat Troubleshooter

Explain unexpected agent behavior, latency, and tool failures from Copilot Chat debug logs.

Automation & Ops ✓ Microsoft · Official

CI Failure Fixer

Diagnose pull request CI failures and iterate toward a fix.

Dev & Engineering ✓ Microsoft · Official

VS Code Performance Investigation Workflow

Automate repeatable VS Code scenarios and collect performance and memory evidence.

Dev & Engineering ✓ Microsoft · Official

VS Code Insiders UI Automation

Automate VS Code Insiders and Copilot Chat through Playwright and CDP.

Dev & Engineering ✓ Microsoft · Official

Custom Agent Builder

Create a focused .agent.md agent from a job description and the user’s conversation context.

Dev & Engineering ✓ Microsoft · Official

Chronicle Copilot Session Analyst

Turn Copilot session history into standups, usage advice, and searchable records.

Dev & Engineering ✓ Microsoft · Official

Tool Rename Compatibility Check

Protect existing prompts and tool configurations when built-in tools are renamed.

Dev & Engineering ✓ Microsoft · Official

VS Code Configuration Policy Maintainer

Standardize VS Code policy registration, export, and validation.

Design & Frontend ✓ Microsoft · Official

VS Code Design Philosophy

Turn vague UI discomfort into concrete fixes using shared values, principles, and design moves.

Related skills