A script that generates CPU FlameGraphs from perf sampling data using DWARF debug information.
Torch is a bash script that generates CPU FlameGraphs by combining Linux perf sampling with Brendan Gregg's FlameGraph visualizer. It automates the process of collecting CPU performance data from running processes and creating interactive visualizations that help developers identify performance bottlenecks. The tool uses DWARF debug information for accurate symbol resolution in the generated flame graphs.
Linux developers and system engineers who need to analyze CPU performance bottlenecks in their applications. Particularly useful for those working with Rust, C, C++, or other compiled languages on Linux systems.
Torch provides a simple, automated way to generate professional flame graphs without manual processing of perf data. It's a lightweight wrapper that combines established tools into a single command, saving time for developers who need quick performance insights.
Generate CPU FlameGraphs based on DWARF Debug Info
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Torch automates the entire process from perf sampling to FlameGraph creation, saving manual steps as shown in the simple CLI interface that defaults to 10-second sampling and outputs an SVG file.
Leverages DWARF debugging information to resolve symbols accurately, ensuring flame graphs are readable and meaningful, as demonstrated in the examples with Rust applications.
Produces SVG flame graphs that support click-to-zoom exploration, making it easy to drill down into performance bottlenecks interactively, as highlighted in the examples.
Follows the Unix philosophy by doing one thing well—bridging perf and FlameGraph with minimal complexity, requiring only a bash script and basic Linux tools.
Requires Linux 3.7 and above with the perf tool installed, making it unsuitable for cross-platform development or environments without Linux kernel access.
Only handles CPU sampling via perf, so it cannot profile memory usage, disk I/O, or other system resources without integrating additional tools manually.
Relies heavily on perf and Brendan Gregg's FlameGraph scripts, so updates or changes to these dependencies could break compatibility or require manual adjustments.
As a simple bash script, it may lack robust error messages or debugging support if perf fails or if DWARF info is missing, leading to unclear failures.