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.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 014887bf17064fbb2e9da4ddc73b9c280cdcf84804b517f4946da002533b8743 |
|
MD5 | 0947ddcaf62ab45d47d1edf29008a003 |
|
BLAKE2b-256 | 087a3afd9d698fad5ab18be587d012ea97983418f94c7461234e60b4eb72519b |