1. 环境搭建

1.1 下载developtools_hiperf脚本
https://gitee.com/openharmony/developtools_hiperf/tree/master/script
1.2 连接设备 (Oriole)
1.3 安装python3

2. 采样

在软件脚本目录developtools_hiperf-master\script 运行下面命令

对settings应用进行采集python .\command_script.py -app com.ohos.settings

img


command_script.py 里面默认采样率为每秒1000次,采样周期为10s
大家可以根据自己业务需求对脚本进行定制

img

使用-lp 可以采集系统进程名
python .\command_script.py -lp 系统进程名

具体hiperf使用,可以参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/hiperf-V5

3. 收集符号表

3.1 使用命令导出版本lib.unstripped和exe.unstripped符号表

python .\recv_binary_cache.py -l \wsl.localhost\Ubuntu-20.04\home\mattli\wrokcode\02.OpenHarmony-sig-5.0\out\oriole\lib.unstripped \wsl.localhost\Ubuntu-20.04\home\mattli\wrokcode\02.OpenHarmony-sig-5.0\out\oriole\exe.unstripped

3.2 使用社区下载脚本直接运行缺少bin文件夹,需要自己编译适配bin文件夹。

img

3.3 编译生成bin文件夹里面文件

编译命令
./build.sh --product-name oriole --gn-args allow_sanitize_debug=true --ccache --build-target developtools/hiperf:hiperf_target_all
编译生成文件目录
\wsl.localhost\Ubuntu-20.04\home\mattli\wrokcode\02.OpenHarmony-sig-5.0\out\oriole\mingw_x86_64\developtools\hiperf

img

3.4 把编译生成文件放到脚本文件bin\windows\x86_64目录下面(没有需要自己创建)

img

3.5 重新使用命令收集符号表正常

img


备注:脚本缺少bin文件夹见附件。

4. 生成report报告

执行命令:python make_report.py

img

5. 打开火焰图展示

双击hiperf_report.html

img

点击Chart Statistics查看指令统计分布情况,抓hitrace一直在滑动,所以RSRenderThread 指令占比最高。

img

点击Sample Table查看函数调用占比

img

点击Flame Graph查看各个线程火焰图

img

相关文件下载
bin.zip
1.43 MB
下载
Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐