• Stars
    star
    1,012
  • Rank 45,431 (Top 0.9 %)
  • Language
    Python
  • Created about 1 year ago
  • Updated 9 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,541
star
2

python-parallel-programming-cookbook-cn

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

pingtop

🏓Ping multiple servers and show results in a top-like terminal UI.
Python
499
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
178
star
6

myrc

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

mactop

Python
136
star
8

jupyter-dot-kernel

📝Dot language kernel for jupyter.
Python
86
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
28
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

patrolify

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

mepe

Cli Prometheus metrics viewer.
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

promql-metricsql-prettify

Make your PromQL or MetricsQL beautiful.
HTML
3
star
40

resp3-py

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

RaspberryPI.python

Python code for Raspberry Pi.
Python
3
star
42

leetcode

Python
3
star
43

JOANNA

An Operating System.
C
2
star
44

atomic_or_channel

Go
2
star
45

pycon-en

Pycon-China English site.
2
star
46

page-watcher

Python
2
star
47

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
48

blue-nginx

Dockerfile
1
star
49

hack-google-arts

1
star
50

adventofcode

Python
1
star
51

git-check

CI for git repo.
1
star
52

learn-jdbc

Learn jdbc for postgres by example.
Java
1
star
53

workdays-bot

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

maggr

1
star
55

gogogo

My go scripts.
Go
1
star
56

tlpi-code

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

python3.9-import-test

Python
1
star
58

omnigraffle-automation

My Omnigraffle Automation Scripts
1
star