Skip to main content

A Terminal Flamegraph Viewer

Project description

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.

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flameshow-1.1.4.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flameshow-1.1.4-py3-none-any.whl (24.2 kB view details)

Uploaded Python 3

File details

Details for the file flameshow-1.1.4.tar.gz.

File metadata

  • Download URL: flameshow-1.1.4.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.12.3 Linux/6.8.0-1020-azure

File hashes

Hashes for flameshow-1.1.4.tar.gz
Algorithm Hash digest
SHA256 689aab65e58c232982f2258131d2fa0c9a5363c53cb0e6990d666ef07ecd4e1d
MD5 4973b3cbf5873b15e131a5daf74f68a5
BLAKE2b-256 8f1e7f538b048a2a9e0cfe3a99aa50db6fd7f50585c61b5082cc2b7cf81bf353

See more details on using hashes here.

File details

Details for the file flameshow-1.1.4-py3-none-any.whl.

File metadata

  • Download URL: flameshow-1.1.4-py3-none-any.whl
  • Upload date:
  • Size: 24.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.12.3 Linux/6.8.0-1020-azure

File hashes

Hashes for flameshow-1.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 46c0213e8f2a558cca142655bf777bba38cf5c795bee551362bbd6fc49ef4a8c
MD5 8137a47263ddcb98861dfe07678a89de
BLAKE2b-256 0834460170d1691d9877c1552474d58c51cead7f7c715886d44ba802fd4bd9ee

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page