ConfigsJul 3, 2026·3 min read

Speedscope — Interactive Flame Chart Viewer for Performance Profiles

A fast, web-based viewer for performance profiles that renders flame charts, left-heavy views, and sandwich views from many profiler formats.

Agent ready

Ready-to-run agent install

This asset can be installed after the agent chooses its runtime, checks the plan, and runs the matching command.

Native · 98/100Policy: allow
Agent surface
Any MCP/CLI agent
Kind
Skill
Install
Single
Trust
Trust: Established
Entrypoint
Speedscope
Direct install command
npx -y tokrepo@latest install 75a7642f-76db-11f1-9bc6-00163e2b0d79 --target codex

Run after dry-run confirms the install plan.

Introduction

Speedscope is a web-based performance profile viewer that renders interactive flame charts. It supports profiles from dozens of tools across many languages, making it a universal viewer for CPU and memory profiling data. It runs entirely in the browser with no server-side processing.

What Speedscope Does

  • Renders flame charts, left-heavy (aggregated) views, and sandwich views
  • Imports profiles from pprof, perf, Chrome DevTools, Instruments, and many more
  • Provides smooth zooming and panning through large profile datasets
  • Highlights individual functions across all call stacks (sandwich view)
  • Runs entirely client-side with no data uploaded to any server

Architecture Overview

Speedscope is built with TypeScript and WebGL for high-performance rendering. Profile data is parsed client-side from various formats into a normalized internal model. The flame chart renderer uses WebGL to draw thousands of rectangles efficiently, enabling smooth interaction even with millions of samples. All processing happens in the browser.

Self-Hosting & Configuration

  • Use the hosted version at speedscope.app (no install needed)
  • Install the CLI globally with npm install -g speedscope
  • Run speedscope profile.json to open a profile in your default browser
  • Self-host by serving the static build output from any web server
  • Pipe profiler output directly: py-spy record -o profile.json && speedscope profile.json

Key Features

  • Supports 20+ profile formats across Python, Ruby, Go, Node.js, Java, and native code
  • WebGL-based rendering handles profiles with millions of samples smoothly
  • Three complementary views: time-ordered flame chart, left-heavy, and sandwich
  • No data leaves your machine; all processing is client-side
  • Keyboard shortcuts for quick navigation and function search

Comparison with Similar Tools

  • Chrome DevTools — Built into Chrome but limited to Chrome profiles; Speedscope supports many formats
  • Perfetto UI — Powerful trace viewer; Speedscope is lighter and focused on flame charts
  • FlameGraph (Brendan Gregg) — Generates static SVGs; Speedscope provides interactive exploration
  • pprof web UI — Go-specific; Speedscope supports profiles from any language

FAQ

Q: Is my profile data uploaded anywhere? A: No. All processing happens in the browser. Your data never leaves your machine.

Q: What profile formats are supported? A: pprof, Chrome DevTools, Instruments, perf, collapsed stacks, Pyinstrument, VizTracer, and many more.

Q: Can I use it offline? A: Yes. Install via npm and run locally, or download the static build for fully offline use.

Q: How does the sandwich view work? A: It shows a selected function in the center, with callers above and callees below, aggregated across all occurrences.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets