一种火焰图动态归一化处理方法技术

技术编号:39597516 阅读:17 留言:0更新日期:2023-12-03 19:56
本发明专利技术提供了一种火焰图动态归一化处理方法

【技术实现步骤摘要】
一种火焰图动态归一化处理方法、装置及介质


[0001]本专利技术涉及信息处理
,尤其涉及一种火焰图动态归一化处理方法

装置及介质


技术介绍

[0002]当前火焰图在分析性能问题时,主要向用户提供了以下数据:跟踪过程的具体函数调用栈,跟踪过程的各函数调用栈整体耗时,调用栈耗时占整体跟踪过程总耗时的比例

除此之外,由于火焰图具有交互性,可以通过点击某调用函数,来放大显示调用栈具体信息,但信息内容依然是上述三种

这在分析性能问题时,存在一个弊端,想要查看某个函数在整个调用栈或相对某个调用函数的耗时比例时,无法直接查看,只能通过火焰图的方块长度大致观测或通过计算调用函数占整体的比例来间接计算二者比例,这对需要大量判断函数间的耗时对比
/
比例时相当麻烦

且当出现缩小
/
放大等交互性操作时,获取比例数据将更加繁琐

[0003]此外,针对不同机器,当其采样周期存在差异时,火焰图提供的调用栈耗时只能作为同种机器的参考数据,两种机器的数据无法直接对比,因此亟需提供一种数据处理方法以改善上述问题


技术实现思路

[0004]本专利技术的目的在于提供一种火焰图动态归一化处理方法及装置,用以对不同场景下的火焰图依照参照物归一化得到的归一化结果

[0005]为实现上述目的,第一方面,本专利技术提供一种火焰图动态归一化处理方法,包括:接收用户作用于火焰图中第一图块的操作,将所述第一图块对应的调用栈标记为所述火焰图的参照物;以所述参照物对应的函数调用耗时作为基准数据,计算火焰图中其它图块对应的调用栈的函数调用耗时与所述基准数据的比值,以及根据所述比值确定所述其它图块对应的调用栈的归一化处理结果;将所述其它图块中函数名称和归一化后处理结果对应显示在所述其它图块上

[0006]本专利技术提供的火焰图动态归一化处理方法的有益效果在于:在保证交互性不受影响的前提下,对火焰图提供动态归一化处理功能,进一步增强其交互性的同时,利于分析调用栈相对参数物的比例特征,即使在进行不同设备的火焰图参数比较时,也可以具有一定的归一性和通用性

[0007]在一种可能的实施方式中,根据所述比值确定与所述其它图块对应的调用栈的归一化处理结果,包括:获取其它图块对应的各个调用栈的参数,根据各个调用栈的参数与参照物的参数之间的相似度,确定其它图块对应的各个调用栈与参照物之间相关度;根据所述比值和所述相关度,确定所述其它图块对应的调用栈的归一化处理结果

[0008]在又一种可能的实施方式中,将所述其它图块中函数名称和归一化后处理结果对应显示在所述其它图块上之后,还包括:在接收到用户清除参照物的操作时,停止显示所述
归一化结果

[0009]在其它可能的实施方式中,将所述其它图块中函数名称和归一化后处理结果对应显示在所述其它图块上之后,还包括:当接收到用户作用于火焰图中第二图块的操作时,将所述第二图块对应的调用栈标记为所述火焰图的参照物,以及重复执行上述步骤计算和显示归一化处理结果

[0010]在更多可能的实施方式中,当接收到用户作用于火焰图中第二图块的操作时之后,还包括:当接收用户使用组合按键作用于火焰图中第二图块的操作时,将火焰图上的第二图块对应的调用栈将切换为专用颜色,所述第一图块对应的调用栈将从专用颜色自动恢复原有颜色;当用户使用清除组合按键作用于火焰图中第二图块的操作时,将火焰图上的第二图块对应的调用栈从专用颜色自动恢复原有颜色

[0011]第二方面,本专利技术提供一种火焰图动态归一化处理装置,该装置包括执行上述第一方面的任意一种可能的设计的方法的模块
/
单元

这些模块
/
单元可以通过硬件实现,也可以通过硬件执行相应的软件实现

[0012]第三方面,本申请实施例提供一种电子设备,包括处理器和存储器

其中,存储器用于存储一个或多个计算机程序;当存储器存储的一个或多个计算机程序被处理器执行时,使得该电子设备能够实现上述第一方面中的任意一种可能的设计的方法

[0013]第四方面,本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行上述第一方面中的任意一种可能的设计的方法

[0014]第五方面,本申请实施例还提供一种包含计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行上述第一方面中的任意一种可能的设计的方法

[0015]关于上述第二方面至第五方面的有益效果可以参见上述第一方面中的描述

附图说明
[0016]图1为本专利技术提供的一种火焰图示意图;
[0017]图2为本专利技术提供的一种火焰图动态归一化处理流程示意图;
[0018]图3为本专利技术提供的一种火焰图动态归一化处理装置结构示意图

具体实施方式
[0019]如图1所示,火焰图
(Flame Graph)
是用于以可视化的形式呈现分层数据或堆叠化数据,输出可交互的矢量图

火焰图可以显示任何意义的堆叠化数据,本提案主要涉及软件分析领域的堆叠化数据,即软件函数调用栈,作为火焰图堆叠化数据源

作为二维图像,火焰图分
X
轴与
Y
轴视图,其中:
[0020]X
轴:显示调用栈统计后
(
耗时
/
采样点
)
的分布情况,以字母顺序从左到右排序
(
与栈执行先后顺序无关
)
目的是将位于栈中同一层的函数最大化地合并
。Y
轴:显示调用栈的深度,以渐进式颜色区分和显示分层数据,栈的最上方为
CPU
正在执行的函数,其对应下方数据为其调用顺序
(
从下向上看,即为代码执行方向
)。
综上简述,从
X
轴方向上可以看出调用函数的执行耗时和调用栈的分布,从
Y
轴方向可以看出调用栈的深度;火焰图格式为
SVG

具有交互性,其交互性体现见下表:
[0021][0022]本专利技术可用于通过火焰图分析性能问题时的场景,通过动态归一化手段,使得火焰图能够快速可视化式地呈现各调用函数所占参照物比例并提供具体比例数据,加快性能问题的分析速度;当然本专利技术并不限于分析性能问题,当形成火焰图的堆叠化数据含有其他意义时,还可以用于分析其他问题

值得说明的是,本专利技术能够保证这些交互性不受影响的前提下,对火焰图提供动态归一化处理功能,进一步增强其交互本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种火焰图动态归一化处理方法,其特征在于,包括:接收用户作用于火焰图中第一图块的操作,将所述第一图块对应的调用栈标记为所述火焰图的参照物;以所述参照物对应的函数调用耗时作为基准数据,计算火焰图中其它图块对应的调用栈的函数调用耗时与所述基准数据的比值,以及根据所述比值确定所述其它图块对应的调用栈的归一化处理结果;将所述其它图块中函数名称和归一化后处理结果对应显示在所述其它图块上
。2.
根据权利要求1所述的方法,其特征在于,根据所述比值确定与所述其它图块对应的调用栈的归一化处理结果,包括:获取其它图块对应的各个调用栈的参数,根据各个调用栈的参数与参照物的参数之间的相似度,确定其它图块对应的各个调用栈与参照物之间相关度;根据所述比值和所述相关度,确定所述其它图块对应的调用栈的归一化处理结果
。3.
根据权利要求1或2所述的方法,其特征在于,将所述其它图块中函数名称和归一化后处理结果对应显示在所述其它图块上之后,还包括:在接收到用户清除参照物的操作时,停止显示所述归一化结果
。4.
根据权利要求1或2所述的方法,其特征在于,将所述其它图块中函数名称和归一化后处理结果对应显示在所述其它图块上之后,还包括:当接收到用户作用于火焰图中第二图块的操作时,将所述第二图块对应的调用栈标记为所述火焰图的参照物,以及重复执行上述步骤计算和显示归一化处理结果
。5.
根据权利要求4所述的方法,其特征在于,当接收到用户作用于火焰图中第二图块的操作时之后,还包括:当接收用户使用组合按键作用于火焰图中第二图块的操作时,将火焰图上的第二图块对应的调用栈将切换为专用颜色,所述第一图块对应的调用栈将从专用颜色自动恢复原有颜色;当用户使用清除组合按键作用于火焰图中第二图块的操作时,将火焰图上的第二图块对应的调用栈从专用颜色自动恢复原有颜色
。6.
一种火焰图动态归一化处理装置,其特征在于,包括:接收单元,用于接收用户作用于火焰图中第一图块的操作;处理单元,用于将所述第一图块对应的调用栈标记为所述火焰图的参照...

【专利技术属性】
技术研发人员:赵雅丛
申请(专利权)人:展讯半导体南京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1