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.3.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: flameshow-1.1.3.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for flameshow-1.1.3.tar.gz
Algorithm Hash digest
SHA256 12cb24239aa0487b81ce6ab211f3e02dbd58897bd0c918841551b11148831fa0
MD5 c5f6250f69d5fd910464949074dbf538
BLAKE2b-256 7f4a09cce1431809d7e15df9b4e79e9ae9106ba4812ed5d9735a2399437676e9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: flameshow-1.1.3-py3-none-any.whl
  • Upload date:
  • Size: 24.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for flameshow-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 bed779554e15fbb38ba25827f4a7b0d64db234d52a4ad469073d71a175c485e1
MD5 7539dade32eee40846689cbc6e76d621
BLAKE2b-256 99a97cee210cca075c66fed1e7c21b95b363fac30e1951db130922ea026d2405

See more details on using hashes here.

Supported by

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