A Terminal Flamegraph Viewer
Project description
Flameshow
Flameshow is a terminal Flamegraph viewer.
Features
- Renders Flamegraphs in your terminal
- Supports zooming in and displaying percentages
- Keyboard input is prioritized
- All operations can also be performed using the mouse.
- Can switch to different sample types
Install
Flameshow is written in pure Python, so you can install via pip
:
pip install flameshow
Usage
View golang's goroutine dump:
$ curl http://localhost:9100/debug/pprof/goroutine -o goroutine.out
$ flameshow goroutine.out
After entering the TUI, the available actions are listed on Footer:
- q for quit
- j i j k or ← ↓ ↑ → for moving around, and Enter for zoom in, then Esc for zoom out.
- You can also use a mouse, hover on a span will show it details, and click will zoom it.
Supported Formats
As far as I know, there is no standard specification for profiles. Different languages or tools might generate varying profile formats. I'm actively working on supporting more formats. Admittedly, I might not be familiar with every tool and its specific format. So, if you'd like Flameshow to integrate with a tool you love, please feel free to reach out and submit an issue.
- Golang pprof
- Brendan Gregg's Flamegraph
Development
If you want to dive into the code and make some changes, start with:
git clone git@github.com:laixintao/flameshow.git
cd flameshow
pip install poetry
poetry install
This project is proudly powered by textual.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for flameshow-1.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe6891fb8bde309b61237ece9702ddef79e17a4d477dd6c7ee87b049096056fd |
|
MD5 | 7d7c3dc5570e684aad060ddc0d4d7413 |
|
BLAKE2b-256 | cd657bdb67258ede0dcd5fc0a555a1bf24bb5118d3d48dd37487ee1193a1beb8 |