simplify-trace

Summarizes large Chrome DevTools performance traces into compact markdown reports.

50.1k|3.5k|Updated May 9, 2021
One-click install
npx skills add https://github.com/tldraw/tldraw --skill simplify-trace
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: simplify-trace
Source: https://github.com/tldraw/tldraw/tree/main/skills/simplify-trace
Command: npx skills add https://github.com/tldraw/tldraw --skill simplify-trace

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

Chrome DevTools performance traces are tens to hundreds of megabytes of JSON, far too large to read directly. This Skill condenses one into a few-KB markdown report that surfaces long tasks, hot JS functions, frequent events, and network activity so performance problems can be diagnosed without loading the whole file.

Core Features & Use Cases

  • Long-task and jank detection: Lists top-level main-thread tasks over a configurable threshold, excluding profiler recording artifacts, with time offsets for each.
  • CPU profile analysis: Reconstructs the embedded V8 CPU profile to rank the hottest JS functions by self time with file:line locations.
  • Scoped investigation: Supports time windows, section selection (timeline, network, WebSocket), and text matching to interrogate a specific user action.
  • Use Case: Given a 200 MB Trace-*.json recording of switching files in an app, run the script with --only timeline to locate the active span, then re-run with --window around it to see exactly which functions and long tasks caused the jank.

Quick Start

Ask the AI to summarize your Chrome performance trace file into a report, for example: analyze Trace-2024.json and show me the long tasks and hottest JS functions.

Frequently Asked Questions about simplify-trace

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I analyze a large Chrome DevTools performance trace?

Run the simplify-trace script with Node.js on the trace JSON file to get a compact markdown report. It surfaces long tasks, hottest event types by self time, most frequent events, and top JS functions from the embedded CPU profile.

How to find long tasks and jank in a Chrome performance recording?

The report's long tasks section lists top-level main-thread tasks over a threshold (default 50 ms) with their time offsets. Profiler artifacts like CpuProfiler::StartProfiling are excluded so they don't masquerade as real jank.

Can I analyze only part of a performance trace?

Yes, use the --window START-END flag with offsets in milliseconds to scope the entire report to a time slice. Run --only timeline first to find where activity happens, then window into that span.

What Node.js setup is needed for very large trace files?

For traces over roughly 500 MB, run Node with --max-old-space-size=8192 to increase the heap. The script reads the whole JSON into memory, so heap size is the main constraint.

Why does the long tasks section show none when the app felt slow?

If no single task exceeds the threshold, the slowdown comes from aggregate work instead. Check the hottest functions by self time, GC activity, and high-count events that fire too often, such as a reactive render loop.