On the Algebraic Properties of Flame Graphs
This work addresses a foundational gap for developers and performance analysts by formalizing flame graphs, but it is incremental as it builds on existing visual methods without demonstrating broad impact.
The paper tackles the lack of a formal mathematical definition for flame graphs, a tool for profiling data, and proposes one that yields algebraic properties, enabling operations for in-depth performance regression analysis. The result is a generalization of the visual scanning method to utilize more profiling data, though no concrete performance numbers are provided.
Flame graphs are a popular way of representing profiling data. In this paper we propose a possible mathematical definition of flame graphs. In doing so, we gain some interesting algebraic properties almost for free, which in turn allow us to define some operations that can allow to perform an in-depth performance regression analysis. The typical documented use of a flame graph is via its graphical representation, whereby one scans the picture for the largest plateaux. Whilst this method is effective at finding the main sources of performance issues, it leaves quite a large amount of data potentially unused. By combining a mathematical precise definition of flame graphs with some statistical methods we show how to generalise this visual procedure and make the best of the full set of collected profiling data.