• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Cpuprofiler抓取和展示说明
2Cpuprofiler模板帮助ArkTs开发和测试分析虚拟机层执行开销大问题,提供Ts层耗时长函数和阶段。
3## Cpuprofiler的抓取
4#### Cpuprofiler的抓取配置参数
5打开Start Ark Ts Record总开关下面的Start cpu profiler开关抓取cpuprofiler数据。
6![GitHub Logo](../../figures/arkts/cpuprofilerconfig.jpg)
7### Cpuprofiler展示说明
8将抓取的cpuprofiler文件导入到smartperf中,查看Ts层耗时长的函数和阶段。
9![GitHub Logo](../../figures/arkts/cpuprofilerrow.jpg)
10### Cpuprofiler的泳道图悬浮显示
11鼠标放到泳道图的Slice上会有悬浮框显示。
12![GitHub Logo](../../figures/arkts/cpuprofilertip.jpg)
13+     Name : 函数名。
14+     Self Time: 函数自身执行时间(不包含其调用者)。
15+     Total Time : 函数自身及调用者的调用时间总和。
16+     Url : 函数所在的文件名称。
17### Cpuprofiler泳道图的点选和框选功能
18点选或者框选泳道图上函数名的Slice,会显示Js Profiler Statistics,Js Profiler CallTree,Js Profiler BottomUp的Tab页信息。
19Js Profiler Statistics的Tab页显示数据的维度信息,以饼图和Table表的方式展示,如下图:
20![GitHub Logo](../../figures/arkts/cpuprofilerselects.jpg)
21![GitHub Logo](../../figures/arkts/cpuprofilerdrags.jpg)
22+     Type : 维度名称,有九大维度(NAPI、ARKUI_ENGINE、BUTLTIN、GC、AINT、CINT、AOT、RUNTIME、OTHER)。
23+     Total : 时间。
24+     % : 时间占比。
25Js Profiler CallTree的Tab页把name,url,depth,parent相同的函数合并,构建成一个top down的树结构,以树形表格的形式显示,表格中显示函数调用关系,如下图:
26![GitHub Logo](../../figures/arkts/cpuprofilerselectc.jpg)
27![GitHub Logo](../../figures/arkts/cpuprofilerdragc.jpg)
28+     Symbol : 函数名。
29+     Self Time: 函数自身执行时间(不包含其调用者)。
30+     Total Time : 函数自身及调用者的调用时间总和。
31Js Profiler BottomUp的Tab页把name,url,depth,parent相同的函数合并,构建成一个bottom up的树结构,以树形表格的形式显示,只不过作为根节点的是被调用者,表格中显示函数被调用关系,如下图:
32![GitHub Logo](../../figures/arkts/cpuprofilerselectb.jpg)
33![GitHub Logo](../../figures/arkts/cpuprofilerdragb.jpg)
34+     Symbol : 函数名。
35+     Self Time: 函数自身执行时间(不包含其调用者)。
36+     Total Time : 函数自身及调用者的调用时间总和。
37### Cpuprofiler的Heaviest Stack功能
38Js Profiler CallTree的Tab页的Heaviest Stack表格显示的是选中的函数的完整的调用栈。
39![GitHub Logo](../../figures/arkts/cpuprofilerheavic.jpg)
40Js Profiler BottomUp的Tab页的Heaviest Stack表格显示的是选中的函数的完整的逆序调用栈。
41![GitHub Logo](../../figures/arkts/cpuprofilerheavib.jpg)
42+     Symbol : 函数名。
43+     Total Time : 函数自身及调用者的调用时间总和。
44+     % : 总时间占比。