Systemtrace抓取,主要介绍以下两种方式:

1. 使用命令行脚本抓取:(推荐)

1.1新增加一个bat文件命名为getHtrace_oh_8s.bat,把下面脚本内容复制到文件里面保存。

set ymd=%date:~0,4%%date:~5,2%%date:~8,2%
for /f "tokens=* delims= " %%a in ("%ymd%") do set ymd=%%a
set hms=%time:~0,2%%time:~3,2%%time:~6,2%
for /f "tokens=* delims= " %%a in ("%hms%") do set hms=%%a
if exist trace/%ymd% (
    echo 目录trace/%ymd%已存在,无法创建
) else (
    echo 创建trace/%ymd%
    mkdir trace\%ymd%
)
set PS_DIR=ps

if exist trace/%ymd%/%PS_DIR% (
    echo 目录trace/%ymd%/%PS_DIR%已存在,无法创建
) else (
    echo 创建trace/%ymd%/%PS_DIR%
    mkdir trace\%ymd%\%PS_DIR%
)

set filename=trace/%ymd%/systrace_%ymd%_%hms%.ftrace

hdc shell "hitrace -b 204800 -t 8 --overwrite ability accesscontrol accessibility cloud account ace app ark devicemanager deviceprofile ohos zaudio zcamera zimage zmedia distributeddatamgr graphic gresource sched freq irq memory notification sync power rpc samgr sensors window workq binder idle disk pagecache -o /data/log/xxx.ftrace"
hdc file recv /data/log/xxx.ftrace %filename%
hdc shell ps -eT > trace/%ymd%/%PS_DIR%/ps_%ymd%_%hms%.log
@pause

1.2连接手机刷机脚本getHtrace_oh_8s.bat,双击脚本提醒8s,操作需要分析性能场景,生成systrace文件保存在脚本同级trace目录里面。

img

如果需要转更长时间,可以调整脚本后面-t后面时间(hitrace -b 204800 -t 8),时间设置不要太长,太长脚本文件比较大,打开查看比较卡。

--overwrite后面参数为抓取子系统,ipc, 内存,cpu等信息trace,大家可以根据自己情况调整,如果定位性能问题,建议不要调整。
ability accesscontrol accessibility cloud account ace app ark devicemanager deviceprofile ohos zaudio zcamera zimage ...

2 使用Smartperf_Host工具抓取:

2.1 下载安装Smartperf_Host工具,打开网站,下载发行版。

https://gitee.com/openharmony/developtools_smartperf_host?_from=gitee_search

img

解压后,双击main.exe,会部署打开一个Smartperf_Host工具分析网站。

https://localhost:9000/application/

img


这个工具用来查看分析systrace非常好用不卡,推荐用它查看分析trace;
抓去Systrace建议使用方法一脚本,该工具不能和其他软件共用hdc端口,经常容易出现找不到端口。

2.2 设置抓取trace时长(最小单位为10s)和选择端口。

img

出现4找不到端口,可以把打开ide关掉,执行hdc kill。

2.3 设置好端口后,选择当前手机os版本,点击record开始抓取Systrace,在10s内,操作待分析性能场景。

img

Logo

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

更多推荐