火焰图

本文介绍火焰图的相关配置与展示效果。

简介

火焰图用于可视化展示软件的性能分析数据。开发人员可通过火焰图识别代码的性能瓶颈,以及了解代码中不同函数或代码块之间的调用关系和耗时情况。在火焰图中,一个矩形代表一个方法或函数,矩形的宽度表示该方法、函数在总执行时间中所占的比例;矩形的高度表示该方法、函数在调用栈中的深度。各个方法、函数之间的嵌套关系则通过嵌套排列来表示。

image.png

功能入口

您在使用数据查询、数据对比时,系统默认展示火焰图。具体操作,请参见Profile Explorer使用(数据查询)Profile Explorer使用(数据对比)

通用配置

通用配置用于对火焰图进行全局配置。

  • 基本配置

    参数

    说明

    标题

    设置火焰图的标题。

    显示标题

    打开显示标题开关后,将在火焰图中显示标题。

    显示边框

    打开显示边框开关后,将在火焰图中显示边框。

    显示背景

    打开显示背景开关后,将在火焰图中显示背景颜色。

    显示时间

    打开显示时间开关后,将在火焰图中显示查询时间。

    固定时间

    打开固定时间开关后,将固定查询分析的时间,不受仪表盘全局时间的影响。

  • 火焰图配置

    参数

    说明

    显示模式

    选择火焰图的显示模式。

    • 仅火焰图:仅展示火焰图。

    • 仅表格:仅展示表格。

    • 表格+火焰图:展示表格和火焰图。

    表格检索功能

    当显示模式中包含表格,且打开表格检索功能日志服务将根据您的输入,动态调整表格与火焰图内容。

火焰图交互

您可以单击火焰图中的目标矩形,与火焰图进行交互。交互内容包括聚焦火焰图、折叠或展开火焰图、重置火焰图的视图、排序表格、扩展表格、检索表格、高亮展示、复制方法名与位置、查看数值详细信息。

  • 聚焦火焰图

    单击聚焦,可将选中的矩形宽度扩展至100%,便于您聚焦其所在栈的上下文。image.pngimage.png

  • 折叠或展开火焰图

    单击折叠/展开,可将栈底折叠显示或展开显示。此功能适用于栈深度较高,忽略栈底,重点查看栈顶的场景。image.pngimage.png

  • 重置火焰图视图

    当进行过聚焦、折叠等操作后,如果您要恢复到初始的火焰图,可单击重置视图image.png

  • 排序表格

    单击表格的表头,可按列值的大小进行表格排序。image.pngimage.png

  • 扩展表格

    初始表格默认50行。如果栈内容较多,您可以单击更多,扩展表格显示范围。image.png

  • 检索表格

    开启火焰图表格检索功能后,您可以输入检索内容,系统将自动搜索,并且在火焰图中高亮展示搜索结果。image.png

  • 高亮展示

    单击表格内容,系统将在火焰图中高亮展示对应的矩形,便于您定位。image.png

  • 复制方法名与位置

    单击目标方法或位置的image图标,复制方法名或位置信息。image.png

  • 查看数值详细信息

    单击或将鼠标悬浮在表格、火焰图时,您可以查看对应数值信息。image.png

    其单位的分类如下表所示。

    单位分类

    数据记录单位

    火焰图显示

    时间

    nanoseconds、lock_nanoseconds

    s(秒)、m(分)、h(小时)、d(天)、M(月)、Y(年)

    字节数

    bytes、inuse_space

    bytes、KB、MB、GB、TB、PB

    个数

    objects、goroutines、exceptions、count

    无后缀、K(10^3个)、M(10^6个)、B(10^9个)、T(10^12个)、P(10^15个)

火焰图展示模式

火焰图展示模式包括数据查询视图和数据对比视图。

数据查询视图

image.png

  • 表格

    表头

    说明

    方法名+位置

    描述方法名与位置,对应性能监控数据中的name字段。

    自身大小

    该方法独占的资源(不包含子方法)。

    总大小

    该方法占用的所有资源(包含子方法)。

  • 火焰图

    火焰图长度和比例以自身大小与总大小决定;火焰图颜色由方法名+位置的哈希值决定。

数据对比视图

image.png

  • 表格

    表头

    说明

    方法名+位置

    描述方法名与位置,对应性能监控数据中的name字段。

    过去值

    过去时间段内,该方法总大小占全体总大小的比例。

    当前值

    当前时间段内,该方法总大小占全体总大小的比例。

    Diff

    当前值与过去值的差值。

  • 火焰图

    火焰图长度和比例以自身大小与总大小决定;火焰图颜色由Diff正负决定,数值的绝对值越大,颜色越鲜明。

交互事件

火焰图中的交互事件用于对栈进行下钻分析,加深数据分析的维度。交互事件包括打开日志库、打开快速查询、打开仪表盘、打开Trace分析、打开Trace详情和自定义HTTP链接。更多信息,请参见交互事件

火焰图的交互事件固定选择查询分析A。例如设置交互事件为打开仪表盘,则单击火焰图的任意点,然后单击打开仪表盘,系统将跳转到您所设置的仪表盘中。

image.png

设置交互事件时,您可在过滤语句添加变量functionNamelocation。设置后,您单击火焰图矩形或表格中的方法名与位置,可将其作为交互事件的参数。

image.png