The information of a flame graph is represented graphically in a hierarchical manner; the
x-axis represents execution time, while the
y-axis shows stack depth, creating an intuitive visualization of resource consumption. The approach is commonly used in profiling system resources such as
CPU performance, and memory usage has also seen recent adoption for profiling
GPU performance, especially for
artificial intelligence software like
large language models.
Software industry Flame graphs have seen increases in popularity in the
software industry, especially in
cloud computing, being employed by companies like
Cloudflare,
Netflix,
Snowflake,
Amazon Web Services and
Google. They are typically used to analyze performance
bottlenecks in commonly deployed software runtimes like
Node.js and
Java, as well as heavy server-side programs like
MySQL and
MediaWiki.
Development tools Flame graphs are officially supported in several
integrated development environments, including
Visual Studio,
Visual Studio Code and
IntelliJ IDEA. A flame graph implementation is also included with the
web development tools built into
Google Chrome and
Firefox. Performance of software across different versions can be represented through differential flame graph implementations, which allow both improvements and regressions in efficiency to be identified. ==References==