Systrace抓取

Systrace是分析Android性能问题的神器,Google IO 2017上更是对其各种强推. 是分析卡顿掉帧问题核心工具,只要能提供卡顿现场,systrace就能很好定位问题

Systrace是基于内核ftrace机制来实现的一套trace工具,android上层实现了Trace类,用于把trace信息写入ftrace buffer,最后再通过ftrace buffer抓取出来

1.使用python版本抓取trace

进入systrace.py所在目录(一般位于android-platform_tools下的systrace文件夹下),打开终端

输入命令

python systrace.py [options] [category1] [category2] ... [categoryN]

注意:python必须是2.x版本。

 

 -o 后直接是文件名,如果是目录会进行判断目录是否存在,不存在会报错

category你需要抓取模块的类型

 

示例:

python systrace.py gfx rs irq input view sched am wm camera dalvik freq idle load sync workq power mmc disk sm audio hal video app res binder_driver binder_lock -b 20480 -t 5 -o trace.html

python systrace.py -a com.android.systemui -b 20480 -t 5 -o my_systrace_report.html sched freq idle am wm gfx view binder_driver hal dalvik camera input res

命令执行完后,systrace.py 所在地方会生成一个trace.html

 

打开谷歌浏览器, 在Chrome浏览器的地址栏中输入 chrome://tracing,点击Load选择需要的trace文件即可

Trace的X轴表示时间,Y轴以进程进行分组,进程组内是各个线程,可以收缩和展开。每个应用进程包含每个线程所包含的所有跟踪标记,包括基于启用跟踪类别的高级跟踪事件的层次结构。

界面介绍

 

 使用android自带的抓取trace的方法

使用使用android自带的抓取trace的方法,这种方法适用于抓取长trace,最长支持30分钟,但是可能会影响性能。

a.开启设备并进入开发者模式

b.找到“系统追踪” ,然后选择打开“显示快捷图块”、“长期追踪”开关;

c.在“类别”中可以选择需要记录的tag。

 

d.下拉状态栏点击“系统跟踪”图块,即可开始抓取,再次点击图块即可停止抓取;

 

e.最后可使用adb pull /data/local/traces 导出文件。 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值