{"id":13472712,"url":"https://github.com/laixintao/flameshow","last_synced_at":"2025-04-11T17:23:52.796Z","repository":{"id":214418134,"uuid":"695833506","full_name":"laixintao/flameshow","owner":"laixintao","description":"A terminal Flamegraph viewer.","archived":false,"fork":false,"pushed_at":"2025-02-06T04:30:23.000Z","size":3131,"stargazers_count":1066,"open_issues_count":7,"forks_count":21,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-04T11:39:35.092Z","etag":null,"topics":["flamegraph","golang","perf","performance-analysis","pprof","profiling"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/laixintao.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-24T11:21:54.000Z","updated_at":"2025-04-03T06:32:24.000Z","dependencies_parsed_at":"2024-01-13T18:16:06.304Z","dependency_job_id":"32680eac-b0ca-4beb-b3e1-29d3ee3ccdb0","html_url":"https://github.com/laixintao/flameshow","commit_stats":null,"previous_names":["laixintao/flameshow"],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laixintao%2Fflameshow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laixintao%2Fflameshow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laixintao%2Fflameshow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laixintao%2Fflameshow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/laixintao","download_url":"https://codeload.github.com/laixintao/flameshow/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248448264,"owners_count":21105266,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flamegraph","golang","perf","performance-analysis","pprof","profiling"],"created_at":"2024-07-31T16:00:57.312Z","updated_at":"2025-04-11T17:23:52.776Z","avatar_url":"https://github.com/laixintao.png","language":"Python","readme":"# Flameshow\n\n[![tests](https://github.com/laixintao/flameshow/actions/workflows/pytest.yaml/badge.svg?branch=main)](https://github.com/laixintao/flameshow/actions/workflows/pytest.yaml)\n[![codecov](https://codecov.io/gh/laixintao/flameshow/graph/badge.svg?token=XQCGN9GBL4)](https://codecov.io/gh/laixintao/flameshow)\n[![PyPI](https://img.shields.io/pypi/v/flameshow.svg?logo=pypi\u0026label=PyPI\u0026logoColor=gold)](https://pypi.org/project/flameshow/)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/flameshow?logo=python\u0026logoColor=gold)\n![PyPI - Downloads](https://img.shields.io/pypi/dm/flameshow)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\nFlameshow is a terminal Flamegraph viewer.\n\n![](./docs/flameshow.gif)\n\n## Features\n\n- Renders Flamegraphs in your terminal\n- Supports zooming in and displaying percentages\n- Keyboard input is prioritized\n- All operations can also be performed using the mouse.\n- Can switch to different sample types\n\n## Install\n\nFlameshow is written in pure Python, so you can install via `pip`:\n\n```shell\npip install flameshow\n```\n\nBut you can also run it through [nix](https://nixos.org/):\n\n```shell\nnix run github:laixintao/flameshow\n# Or if you want to install it imperatively:\nnix profile install github:laixintao/flameshow\n```\n\n## Usage\n\nView golang's goroutine dump:\n\n```shell\n$ curl http://localhost:9100/debug/pprof/goroutine -o goroutine.out\n$ flameshow goroutine.out\n```\n\nAfter entering the TUI, the available actions are listed on Footer:\n\n- \u003ckbd\u003eq\u003c/kbd\u003e for quit\n- \u003ckbd\u003eh\u003c/kbd\u003e \u003ckbd\u003ej\u003c/kbd\u003e \u003ckbd\u003ek\u003c/kbd\u003e \u003ckbd\u003el\u003c/kbd\u003e or \u003ckbd\u003e←\u003c/kbd\u003e\n  \u003ckbd\u003e↓\u003c/kbd\u003e \u003ckbd\u003e↑\u003c/kbd\u003e \u003ckbd\u003e→\u003c/kbd\u003e for moving around, and \u003ckbd\u003eEnter\u003c/kbd\u003e\n  for zoom in, then \u003ckbd\u003eEsc\u003c/kbd\u003e for zoom out.\n- You can also use a mouse, hover on a span will show it details, and click will\n  zoom it.\n\n## Supported Formats\n\nAs far as I know, there is no standard specification for profiles. Different\nlanguages or tools might generate varying profile formats. I'm actively working\non supporting more formats. Admittedly, I might not be familiar with every tool\nand its specific format. So, if you'd like Flameshow to integrate with a tool\nyou love, please feel free to reach out and submit an issue.\n\n- Golang pprof\n- [Brendan Gregg's Flamegraph](https://www.brendangregg.com/flamegraphs.html)\n- Python [Austin](https://github.com/P403n1x87/austin)\n\n## Development\n\nIf you want to dive into the code and make some changes, start with:\n\n```shell\ngit clone git@github.com:laixintao/flameshow.git\ncd flameshow\npip install poetry\npoetry install\n```\n\n---\n\nThis project is proudly powered by\n[textual](https://github.com/Textualize/textual).\n","funding_links":[],"categories":["Python","Profiling"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaixintao%2Fflameshow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flaixintao%2Fflameshow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaixintao%2Fflameshow/lists"}