18.4. 解释 flamegraphs
flamegraph 中的每个框代表堆栈中的不同功能。y-axis 显示堆栈中最顶层框的深度,每个堆栈都是实际处于 CPU 的函数,以及它处于ancestry 下的一切。x-axis 显示抽样的 call-graph 数据的填充。
给定行中堆栈的子项会根据在 x-axis 中以降序排列的样本数量来显示。 并不代表传递时间。更广泛的一个单独框是,在数据被抽样时,它更频繁地处于 CPU 或一个 on-CPU ancestry 的一部分。
x-axis
流程
要显示之前未显示的功能名称并进一步调查数据,请点击 flamegraph 中的框来缩放给定位置的堆栈:
要返回 flamegraph 的默认视图,请点 Reset Zoom。
重要代表用户空间功能的框可以在 flamegraphs 中被标记为
Unknown,因为函数的二进制文件被剥离。必须安装可执行文件的debuginfo软件包,或者如果可执行文件是本地开发的应用程序,则必须使用调试信息进行编译。使用 GCC 中的-g选项,在这种情形中显示功能名称或符号。