搜索

25.4. 解释 flamegraphs

download PDF

flamegraph 的每个框代表堆栈中的不同功能。y 轴显示堆栈在顶部框的深度,每个堆栈都是实际处于 CPU 的函数,以及它处于ancestry 下的一切。x 轴显示抽样的 call-graph 数据的填充。

给定行中堆栈的子项会根据在 x 轴之间以降序排列的样本数量显示,x 轴并不代表传递时间。更广泛的一个单独框是,在数据被抽样时,它更频繁地处于 CPU 或一个 on-CPU ancestry 的一部分。

流程

  • 要显示之前未显示的功能名称,进一步调查数据,点 flamegraph 中的方框,将缩放到指定位置的堆栈中:

    zoomed in flamegraph

  • 要返回 flamegraph 的默认视图,请点 Reset Zoom
重要

代表用户空间功能的框可以在 flamegraphs 中被标记为 Unknown,因为函数的二进制文件被剥离。必须安装可执行文件的 debuginfo 软件包,或者如果可执行文件是本地开发的应用程序,则必须使用调试信息进行编译。使用 GCC 中的 -g 选项,在这种情形中显示功能名称或符号。

flamegraph

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.