node heap dump visualizer
Heapview is a tool to help you out in post mortem debugging scenarios.
It's currently under development.
You'll need Rust to build the parser and server and Node if you wanna work on the UI.
# For backend
cargo run <PATH_TO_FILE>
To show the chart in the browser, you can start development server:
# Start development server
cd heapview/src/ui/
yarn install
yarn start
# Build to root of project in /dist/ui
yarn build
The UI uses React and D3 for rendering a dynamic SVG. When running development server make sure to also be running the backend since it's the source of analysis.
- Display all nodes and allow search by type, content, etc;
- Automatically group objects based on similarity;
- Display a proper TreeMap of everything;
- If given a package.json, try and figure which objects come from which deps and general dep weight.
- TBD
Post mortem debugging usually happens when you can't inspect your processes directly, for instance, when you're running microservices.
In these cases you will have to first produce some heap dumps. One good lib to do so is heapdump. It uses v8 cpp bindings to do so in older versions of node. Since 11.13, you can do it in JS by running v8.getHeapSnapshot()
.
See our guide on contributing.
See our changelog.
Copyright © 2020 Klarna Bank AB
For license details, see the LICENSE file in the root of this project.