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.
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.
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.
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.
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 --helpFirst 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.
Top in Cloud & DevOps
Related Repositories
Discover similar tools and frameworks used by developers
kubespray
Production-grade Kubernetes deployment via Ansible playbooks.
gluetun
Lightweight Go VPN client for routing containerized traffic.
portainer
Web-based management platform for multi-orchestrator container environments.
kube-state-metrics
Generates Prometheus-compatible metrics from Kubernetes API objects, providing comprehensive observability for cluster resources and workload health monitoring.
renovate
Automated dependency updates via pull requests across 90+ package managers.