• Stars
    star
    956
  • Rank 46,070 (Top 1.0 %)
  • Language
    Python
  • Created 8 months ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A terminal Flamegraph viewer.

Flameshow

tests codecov PyPI PyPI - Python Version PyPI - Downloads Code style: black

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

But you can also run it through nix:

nix run github:laixintao/flameshow
# Or if you want to install it imperatively:
nix profile install github:laixintao/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.

Development

If you want to dive into the code and make some changes, start with:

git clone [email protected]:laixintao/flameshow.git
cd flameshow
pip install poetry
poetry install

This project is proudly powered by textual.

More Repositories

1

iredis

Interactive Redis: A Terminal Client for Redis with AutoCompletion and Syntax Highlighting.
Python
2,468
star
2

python-parallel-programming-cookbook-cn

📖《Python Parallel Programming Cookbook》中文版
Python
1,427
star
3

pingtop

🏓Ping multiple servers and show results in a top-like terminal UI.
Python
498
star
4

slic-python-implementation

🖼The python implementation to make superpixels by slic.
Python
203
star
5

tokei-pie

Render tokei's output to interactive sunburst chart.
Python
164
star
6

myrc

⚙️ My Linux Config files.
Vim Script
158
star
7

mactop

Python
132
star
8

jupyter-dot-kernel

📝Dot language kernel for jupyter.
Python
84
star
9

prometheus-http-sd

Prometheus HTTP SD framework.
Python
43
star
10

Report-IP-hourly

📬 Report Linux IP by email hourly.
Python
42
star
11

promqlpy

Python
32
star
12

vcron

Interactive TUI crontab editor
Python
27
star
13

HoldemCalculator

计算德州扑克胜率的一个webapp
HTML
26
star
14

git-ext

🛠 A git extension that allows you submit pullrequests from command line.
Python
21
star
15

feed

Some feeds output from feedly.
Python
19
star
16

learn-dot

graphviz/dot语言 教程。
Jupyter Notebook
18
star
17

ISAAC-Atlas-online

👹以撒的结合,中文在线图鉴。
HTML
17
star
18

mepe

Cli Prometheus metrics viewer.
Python
15
star
19

patrolify

Do some checks every day, so that you can read the "news" in the morning while drinking coffee.
Python
15
star
20

blackemail

Dirty email address.
Python
13
star
21

django-migrations-under-the-hood

My slide for PyCon China 2019.
Python
13
star
22

vagrant-wordpress

Bootstrap LEMP WrodPress on virtual machine use VagrantFile.
Shell
12
star
23

iredis-website

Source code of iredis.io, the site for iredis project.
JavaScript
11
star
24

asyncomplete-gitcommit

Provides common words of git commit message autocomplete for asyncomplete.vim
Vim Script
11
star
25

laixintao

Python
9
star
26

vain-git

虚荣的git,填满 Github 日历。
Python
8
star
27

mydumper2s3

Upload mydumper files to S3 bucket in real time.
Python
8
star
28

myslides

Python
7
star
29

Princess-Diaries

👸 A jekyll theme.
CSS
6
star
30

metrics-render

HTTP service that rendering promql into image, support alerting rules expression
Python
6
star
31

side-project-slide

My slides for PyCon2019 Hangzhou.
5
star
32

douban-movie

抓取自己豆瓣上标记的电影和评论。
Python
5
star
33

pytest-mock-helper

Help you mock HTTP call and generate mock code.
Python
4
star
34

go-systemd-readiness-example

A simple example of systemd's readiness protocol.
Go
4
star
35

tmux-auto-select

Perl
4
star
36

iredis-bin

Python
3
star
37

tmux-demo

3
star
38

alerting-with-confidence

alerting-with-confidence talk slides. https://promcon.io/2022-munich/talks/alerting-with-confidence/
HTML
3
star
39

resp3-py

(WIP) A python implementation of RESP3.
Python
3
star
40

RaspberryPI.python

Python code for Raspberry Pi.
Python
3
star
41

atomic_or_channel

Go
2
star
42

page-watcher

Python
2
star
43

pycon-en

Pycon-China English site.
2
star
44

JOANNA

An Operating System.
C
2
star
45

leetcode

Python
2
star
46

yqt

YuQue Tools, now you can edit your markdown with your favorite editor and use yqt to upload them to yuque.com.
Python
2
star
47

hack-google-arts

1
star
48

blue-nginx

Dockerfile
1
star
49

git-check

CI for git repo.
1
star
50

learn-jdbc

Learn jdbc for postgres by example.
Java
1
star
51

workdays-bot

中国大陆法定工作日日推机器人。
Python
1
star
52

maggr

1
star
53

gogogo

My go scripts.
Go
1
star
54

tlpi-code

source code of tlpi and my notes.
C
1
star
55

python3.9-import-test

Python
1
star