https://github.com/jlfwong/speedscope
🔬 A fast, interactive web-based viewer for performance profiles.
https://github.com/jlfwong/speedscope
flamegraph flamegraphs performance-profiling performance-tools performance-visualization profile speedscope webgl
Last synced: 11 months ago
JSON representation
🔬 A fast, interactive web-based viewer for performance profiles.
- Host: GitHub
- URL: https://github.com/jlfwong/speedscope
- Owner: jlfwong
- License: mit
- Created: 2017-11-22T08:01:13.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2025-03-18T17:08:10.000Z (about 1 year ago)
- Last Synced: 2025-05-07T06:18:41.775Z (12 months ago)
- Topics: flamegraph, flamegraphs, performance-profiling, performance-tools, performance-visualization, profile, speedscope, webgl
- Language: TypeScript
- Homepage: https://www.speedscope.app
- Size: 13.9 MB
- Stars: 5,942
- Watchers: 50
- Forks: 269
- Open Issues: 133
-
Metadata Files:
- Readme: README-ADMINS.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- stars - jlfwong/speedscope - based viewer for performance profiles. (HarmonyOS / Windows Manager)
- awesome-high-performance-computing - speedscope - An interactive, web-based viewer for performance profiles of software. It supports various formats and provides a flamegraph visualization to identify hot paths efficiently. (Software / Trends)
- awesome-list - speedscope - based viewer for performance profiles. | jlfwong | 2974 | (TypeScript)
- jimsghstars - jlfwong/speedscope - 🔬 A fast, interactive web-based viewer for performance profiles. (TypeScript)
- awesome - jlfwong/speedscope - 🔬 A fast, interactive web-based viewer for performance profiles. (TypeScript)
- awesome-ruby-performance - speedscope - A fast, interactive web-based viewer for performance profiles. An alternative viewer for FlameGraphs. Will happily display multi-megabyte profiles without crashing your browser. (Performance tools)
- awesome-github-star - speedscope - based viewer for performance profiles. | jlfwong | 4657 | (TypeScript)
README
This document describes processes needed by admins of this repository.
At time of writing, deployment assumes you're running macOS. It probably
works if you're on a linux, and almost definitely does not work on Windows.
## Test the release
Speedscope is tested in CI, so all the automated tests should be passing. We'll
just be doing a few sanity checks to make sure the build & deployment machinery is working correctly.
scripts/prepare-test-installation.sh
This will do a mock publish & installation to ensure that the version we're about to publish is going to
work. At the end of this command, it should echo a `cd` command to run in your shell
to switch to the installation directory. Something like this:
```
Run the following command to switch into the test directory
cd /var/folders/l0/qtd9z14973s2tw81vmzwkyp00000gp/T/speedscope-test-installation.9Ssdd2PZ/package
```
Run this command, to switch to the test directory.
Inside of here, run `bin/cli.mjs`. This should open a copy of speedscope in browser.
Try importing a profile from disk via the browse button and make sure it works.
Next, try running `bin/cli.mjs dist/release/perf-vertx*`. This should immediately open
speedscope in browser, and the perf-vertx file should load immediately.
## Create & publish the new release
Ensure you have the Github CLI tools installed and you're authenticated. Try running the following if you're unsure:
gh auth status
npm whoami
In your default browser, ensure that you're logged into your npm account, otherwise you'll see a 404 page when you open the authenticate link during the npm publish.
Once ready to publish, run:
scripts/publish-and-deploy.sh
## Verifying the release
To verify that the npm publish was successful, run `npm install -g speedscope`.
Try `speedscope`, which should open speedscope in browser.
Try `speedscope sample/profiles/stackcollapse/simple.txt`, which should immediately load the profile.
To verify the website has finished deploying, check the version number shown in the console of https://www.speedscope.app/