Skip to main content

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
  • h j k l 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.

Flamegraph TUI

This project is built on flamegraph-textual.

The flamegraph renderer is available as a separate package:

pip install flamegraph-textual

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 git@github.com:laixintao/flameshow.git
cd flameshow
pip install poetry
poetry install

This project is proudly powered by textual.

Metadata

Release files for flameshow 1.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for flameshow 1.1.5
File Size Uploaded
flameshow-1.1.5.tar.gz 2.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for flameshow 1.1.5
File Interpreter ABI Platform
flameshow-1.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 2.3 MB

Release files / flameshow-1.1.5.tar.gz

Download URL flameshow-1.1.5.tar.gz
Size 2.3 MB
Tags Source
SHA-256 checksum
How to use checksums
2b7a907338d0a3f8a71d46b90449d8603633478442d05a806e90576a7de59732
BLAKE2b-256 checksum
How to use checksums
ba564584514de07fb5368c60c3d08d43ed8b19ec8691bf2bbb03af2524114cf8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.5.1 CPython/3.12.3 Linux/6.17.0-1022-azure

Release files / flameshow-1.1.5-py3-none-any.whl

Download URL flameshow-1.1.5-py3-none-any.whl
Size 4.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c2db83f6a8c99d7a178cb875d34fa366d92e857ef7ffc0d3e061eb8054f04b84
BLAKE2b-256 checksum
How to use checksums
0771ce2e6f3991de2c9c1067eaad4dd015e67f254b58395cc023280e618d3be1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.5.1 CPython/3.12.3 Linux/6.17.0-1022-azure

Release history Release notifications | RSS feed

This release

1.1.5 This release

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page