Systrace
如何使用手机抓systrace
Android Systrace 基础知识
(1)需要安装的软件 :
python-2.7.18.amd64.msi
pywin32-227.win-amd64-py2.7.exe
Systrace_Tool_since_R(Official)_ALPS
下载资源:审核中
(2)刷机版本的选择:
userdebug的信息太多,可能会导致抓取的trace无法解析
所以选择user版本,mtk工具刷机的时候boot选择 boot-debug.img (user + root)
(3)开始抓取:
先执行 Systrace_Tool_since_R(Official)_ALPS/systrace_setup.bat
Android Version:11
Build Type: user
systrace setup done
请按任意键继续. . .
后执行 Systrace_Tool_since_R(Official)_ALPS/systrace_capture.bat
注意如果出现缺少 module;进入Python27/Scripts中;dos命令行窗口输入 :pip.exe install 【模块名】;
另外还要注意python的执行路径,修改systrace_capture.bat中的python路径 或 添加环境变量
(4)解析Trace
打开google浏览器,输入chrome://tracing/,load对应的trace就可以了 ,在搜索框中搜索关键字,在trace下方会出现Slice模块,在此上面单击,摁下m键,即可定位到目标关键字所在的列,然后通过WASD放大缩小左移右移即可找到关键trace啦
Perfetto
https://perfetto.dev/docs/quickstart/chrome-tracing
https://ui.perfetto.dev/#!/record/chrome
(1)配置功能
Recording Setting
1.Stop when full
同时受到Max duration和buffer size的影响,满足其一就会停止工作
2.Ring buffer
只会收到Max duration的影响,buffer超出会被overwrite
3.Long trace
长时间抓取trace, 定时将buffer中的trace写到文件中去
可选模块功能:CPU/GPU/Power/Memory/Android apps&svcs/Chrome/Advanced settings
比如Camera -> 打开Chrome 中的 CameraStream + camera
Recording command
将配置内容保存为perfettoconfig.txt
(2)抓取Perfetto
1. adb root
2. adb push perfettoconfig.txt /data/misc
3. adb shell
4. setenforce 0
5. mkdir /data/misc/perfetto-traces
6. echo 0 > /sys/kernel/tracing/tracing_on
7. perfetto --config /data/misc/perfettoconfig.txt --txt --out /data/misc/perfetto-traces/trace
8. record perfetto and wait reproduce the problem
9. adb pull /data/misc/perfetto-traces/trace
(3)解析Perfetto
打开UI Perfetto网站 -> Open trace file,得到类似systrace的图