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.
翻译:火焰图是表示性能剖析数据的一种流行方式。本文提出了一种可能的火焰图数学定义。通过这一方法,我们几乎自然地获得了一些有趣的代数性质,进而能够定义若干操作,从而实现对性能回归分析的深入探讨。火焰图的典型使用方式是通过其图形表示,即观察图中最大的平顶区域。尽管这种方法能有效找到性能问题的主要根源,但可能留下大量未充分利用的数据。通过将火焰图的精确数学定义与统计方法相结合,我们展示了如何推广这种可视化过程,并充分利用所收集的完整性能剖析数据集。