1# Cpuprofiler抓取和展示说明 2Cpuprofiler模板帮助ArkTs开发和测试分析虚拟机层执行开销大问题,提供Ts层耗时长函数和阶段。 3## Cpuprofiler的抓取 4#### Cpuprofiler的抓取配置参数 5打开Start Ark Ts Record总开关下面的Start cpu profiler开关抓取cpuprofiler数据。 6 7### Cpuprofiler展示说明 8将抓取的cpuprofiler文件导入到smartperf中,查看Ts层耗时长的函数和阶段。 9 10### Cpuprofiler的泳道图悬浮显示 11鼠标放到泳道图的Slice上会有悬浮框显示。 12 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 21 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 27 28+ Symbol : 函数名。 29+ Self Time: 函数自身执行时间(不包含其调用者)。 30+ Total Time : 函数自身及调用者的调用时间总和。 31Js Profiler BottomUp的Tab页把name,url,depth,parent相同的函数合并,构建成一个bottom up的树结构,以树形表格的形式显示,只不过作为根节点的是被调用者,表格中显示函数被调用关系,如下图: 32 33 34+ Symbol : 函数名。 35+ Self Time: 函数自身执行时间(不包含其调用者)。 36+ Total Time : 函数自身及调用者的调用时间总和。 37### Cpuprofiler的Heaviest Stack功能 38Js Profiler CallTree的Tab页的Heaviest Stack表格显示的是选中的函数的完整的调用栈。 39 40Js Profiler BottomUp的Tab页的Heaviest Stack表格显示的是选中的函数的完整的逆序调用栈。 41 42+ Symbol : 函数名。 43+ Total Time : 函数自身及调用者的调用时间总和。 44+ % : 总时间占比。