Command line tool to parse DTrace and perf output and display it as a flame graph inside your terminal emulator.
Sometimes you may want to visualize a stack trace with FlameGraph of your application running on a server, so you will need to copy a stack traces from your server to your local machine, create a .svg file and open it in the browser. This process can get tedious if you're doing that a lot or if you just want to take a quick look of stack traces.
This tool is trying to solve that by letting you view the stack traces inside your terminal emulator.
This project is trying to be as simple and self-contained as possible, so the only real dependency here (besides Python interpreter) is libncurses which should probably be installed on every system.
Also, this project is Python 2/3 compatible.
To start, simple git clone https://github.com/4rtzel/tfg
and you're good to go.
-
run DTrace or perf tool to collect stack traces
DTrace:
dtrace -n 'profile-197 {@[ustack(100)]=count()' > on.stacks
perf:
perf record -g -a -- sleep 1 perf script > on.stacks
-
run tfg.py and specify an input file type
tfg.py -t perf on.stacks
-
use the following keybindings to navigate
→
,←
,↑
,↓
- navigationc
- on/off combined framesEnter
- zoom to a selected framer
- resetq
- quit
Here is an example of running tfg with perf:
- Tests
- Search option and highlight
- Diff view