鸿蒙 hiperf 制作火焰图
官方参考链接
hiperf-调试命令-调测调优-系统 - 华为HarmonyOS开发者
注意,这里的脚本是在 windows 上执行的,在 windows 上安装 python,使用鸿蒙 hdc 工具连接开发版(hdc相关的内容参考鸿蒙官网),然后依次执行下面的脚本
一般用户用脚本执行采样操作,可生成可视化的火焰图。工具可在developtools_hiperf仓库中获取。
-
采样。
由 command_script.py 完成,它是 report 命令的包装脚本。
-
对指定包名采样,包名是 com.ohos.launch。
- python command_script.py -app com.ohos.launch
对特定进程采样,进程名称是 hdcd。
- python command_script.py -lp hdcd
-
收集符号表。
由 recv_binary_cache.py 完成,它主要根据 perf.data 里面记录的相关文件和库以及它们的 buildid, 在用户指定的路径中去寻找对应的 ELF 作为符号表文件用于回栈或者打印函数名等。
指定了2个符号表路径的位置(可以不指定符号表路径)。
- python recv_binary_cache.py -l Z:\OHOS_MASTER\out\ohos-arm-release\lib.unstripped Z:\OHOS_MASTER\out\ohos-arm-release\exe.unstripped
对应的符号表文件会复制到 binary_cache 文件夹,优先检查用户给出的符号表位置,如果没有则复制设备中的文件。
-
生成火焰图。
由 make_report.py 完成,将采样后的数据导出为HTML展示页面。
产生HTML文件,默认的文件名是 hiperf_report.html。
python make_report.py -i perf.data
运行脚本过程中会提示缺少文件,可下载文章中的压缩包,解压到提示的位置