FlameGraph is a performance profiling and visualization toolkit designed to identify bottlenecks in software execution. It functions as a processing engine that transforms raw stack trace samples into interactive, hierarchical diagrams. By representing aggregated execution frequency as nested rectangles, the tool allows developers to visualize hot code paths and analyze system behavior across both kernel and user-space environments.
The project distinguishes itself through its ability to perform differential profile analysis, which highlights performance regressions or improvements by comparing two datasets side-by-side. It supports advanced diagnostic techniques, including the investigation of off-CPU latency, memory access patterns, and scheduler delays. The visualization engine is highly flexible, offering multiple rendering styles such as inverted icicle charts and radial sunbursts, and it can apply semantic color-coding to distinguish between different programming languages or runtimes.
Beyond core visualization, the toolkit provides a comprehensive suite for system observability. It includes utilities for filtering trace data, mapping symbols in virtual machine environments, and correlating performance metrics with specific system operations. The software is designed to process folded, line-based stack representations, making it compatible with a wide range of event-based tracing sources and performance monitoring workflows.