Navigate:
All ReposFlameGraph
~$FLAMEG0.0%

Interactive Performance Profiling Through Flame Graphs

Visualization tool that converts profiling data into interactive SVG flame graphs for identifying performance bottlenecks in applications and systems.

LIVE RANKINGS • 06:51 AM • STEADY
OVERALL
#229
16
CLOUD & DEVOPS
#15
1
30 DAY RANKING TREND
ovr#229
·Cloud#15
STARS
19.1K
FORKS
2.1K
DOWNLOADS
61
7D STARS
+5
7D FORKS
+2
See Repo:
Share:

Learn more about FlameGraph

FlameGraph is a collection of Perl scripts that generate interactive SVG visualizations from stack trace data collected by profilers like perf, DTrace, and SystemTap. The x-axis represents the population of stack samples, while the y-axis shows stack depth. Each rectangle represents a function, with width proportional to its presence in profiles. Colors are used for differentiation. The tool supports multiple input formats and profiling sources including CPU profiles, off-CPU analysis, memory allocations, and custom metrics. Flame graphs enable rapid identification of hot code paths and performance bottlenecks across languages including C, C++, Java, Python, Ruby, Node.js, and more. The interactive SVGs allow users to click functions to zoom and search for specific patterns.

FlameGraph

1

Universal Profiling Visualization

Works with profiling data from virtually any language or platform including Linux perf, DTrace, eBPF, Java Flight Recorder, and custom profilers. The tool processes collapsed stack samples into standardized visualizations, making it a universal solution for performance analysis across heterogeneous technology stacks and operating systems.

2

Interactive SVG Output

Generates self-contained SVG files with embedded JavaScript that enable interactive exploration without additional tooling. Users can click to zoom into specific code paths, search for function names, and hover for details. The lightweight format makes flame graphs easily shareable via email, wikis, or documentation.

3

Multi-Dimensional Performance Analysis

Beyond CPU profiling, supports differential flame graphs to compare before/after performance, off-CPU analysis for I/O bottlenecks, memory flame graphs for allocation tracking, and custom implementations for network, disk, and latency analysis. Enables comprehensive performance investigation across multiple dimensions of system behavior.


# Clone the FlameGraph repository
git clone https://github.com/brendangregg/FlameGraph.git
cd FlameGraph

# Make scripts executable
chmod +x *.pl

# Add to PATH (optional)
export PATH=$PATH:$(pwd)

# Verify installation
./flamegraph.pl --help

vv1.0

First tagged release packages stable codebase with recent fixes; no breaking changes or new requirements.

  • Use `--subtitle` and `--notes` flags to add optional metadata overlays to generated flame graphs.
  • Leverage `stackcollapse-perf.pl` support for multiple event sources and UTF-8 input to fix unicode zoom breaks.


[ EXPLORE MORE ]

Related Repositories

Discover similar tools and frameworks used by developers