本文介绍火焰图的相关配置与展示效果。
简介
火焰图用于可视化展示软件的性能分析数据。开发人员可通过火焰图识别代码的性能瓶颈,了解代码中不同函数或代码块之间的调用关系和耗时情况。在火焰图中,一个矩形代表一个方法或函数,矩形的宽度表示该方法、函数在总执行时间中所占的比例;矩形的高度表示该方法、函数在调用栈中的深度。各个方法、函数之间的嵌套关系则通过嵌套排列来表示。
火焰图交互
持续性能剖析支持通过火焰图或表格展示剖析数据,在火焰图或表格中,您可以完成以下交互。
火焰图
火焰图长度和比例以自身大小与总大小决定;火焰图颜色由方法名+位置的哈希值决定。单击火焰图中的目标矩形,与火焰图进行交互。
聚焦火焰图
单击聚焦,可将选中的矩形宽度扩展至100%,便于您聚焦其所在栈的上下文。
折叠或展开火焰图
单击折叠/展开,可将栈底折叠显示或展开显示。此功能适用于栈深度较高,忽略栈底,重点查看栈顶的场景。
重置火焰图视图
当进行过聚焦、折叠等操作后,如果您要恢复到初始的火焰图,可单击重置视图。
表格
排序表格
单击表格的表头,可按列值的大小进行表格排序。
表头
说明
方法名+位置
描述方法名与位置,对应性能剖析数据中的
name
字段。自身占用
该方法独占的资源(不包含子方法)。
总大小
该方法占用的所有资源(包含子方法)。
检索表格
在搜索框中输入检索内容,系统将自动搜索对应方法。
扩展表格
初始表格默认50行。如果栈内容较多,您可以单击更多,扩展表格显示范围。
表格+火焰图
高亮展示
单击表格内容,系统将在火焰图中高亮展示对应的矩形,便于您定位指定方法。
通用操作
查看数值详细信息
单击或将鼠标悬浮在表格、火焰图时,您可以查看对应数值信息。
指标
说明
火焰图显示单位
% of Time spent
方法耗时占比。
-
Time
执行代码块所花费的时间。
记录指标:nanoseconds、lock_nanoseconds
s(秒)、m(分)、h(小时)、d(天)、M(月)、Y(年)
RAM
代码块执行过程中的内存分配情况。Profile类型为profile_mem时展示。
记录指标:bytes、inuse_space
bytes、KB、MB、GB、TB、PB
Samples
方法采集样本数。
记录指标:objects、goroutines、exceptions、count
无后缀、K(10^3个)、M(10^6个)、B(10^9个)、T(10^12个)、P(10^15个)
复制方法名与位置
单击目标方法或位置的
图标,可以复制方法名或位置信息。