android抓trace工具,Systrace工具的使用

Systrace工具的使用

通过抓取和展示app的执行次数,Systrace工具可以通帮助你分析app的性能问题,Systrace工具将android kernel层的数据比如CPU调度、disk activity以及应用线程收集起来,并生成HTML报告,在这个HTML报告里,可以看到指定时间内系统进程的所有情况。

要求

SDK 版本20及以上

python环境

android4.1及以上设备(需打开调试模式)

可以通过用户界面去调用,也可以通过cmd的方式去调用

用户界面调用

打开Android studio,Tools -- Android -- Android Device Monitor,或则直接在sdk中的tools中找到Android Device Monitor打开

在弹出的Android Device Monitor中,左侧Devices选项卡的下面一排,点击下图中圈出的位置

0670fe8507ff

Android Device Monitor

配置trace信息,点击OK后,会在对应目录下生成html文件

0670fe8507ff

5.PNG

CMD命令调用

CMD的在androi4.2及以下、android4.3级以上的用法是不一样的,用法如下“

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

android4.3及以上

在这个版本上,你可以不配置分类tag,也可以自定义。使用方式如下:

$ cd android-sdk/platform-tools/systrace

$ python systrace.py --time=10 -o mynewtrace.html sched gfx view wm

提示:如果你想要查看task name,必须配置sched

命令行列表

选项

描述

-h 或 --help

查看帮助

-o

用于指定html文件的存放路径

-t N 或 --time=N

用于指定抓取的时长,N为时长,单位为s,默认为5s,如果要指定10s,则”-t 10“

-b N或--buf-size=N

用于指定缓存大小,N为大小

-k 或 --ktrace=

指定activity的kernel方法,按逗号分割

-l 或 --list-categories

列出可选的分类,不通的设备分类可能不同

-a 或 --app=

开启app的trace,进程名按逗号分割,这些app必须有trace类的调用

--from-file=

根据指定的文件创建html,而不是实时的trace,为源文件路径

-e 或 --serial=

指定设备的序列号

android4.2及以下

在4.2之前的版本需要两部操作,首先,需要配置想要抓取的trace tag,然后再运行trace。比如:

$ cd android-sdk/platform-tools/systrace

$ python systrace.py --set-tags gfx,view,wm

$ adb shell stop

$ adb shell start

$ python systrace.py --disk --time=10 -o mynewtrace.html

命令行列表

选项

描述

-h 或 --help

查看帮助

-o

用于指定html文件的存放路径

-t N 或 --time=N

用于指定抓取的时长,N为时长,单位为s,默认为5s,如果要指定10s,则”-t 10“

-b N或--buf-size=N

用于指定缓存大小,N为大小

-d 或 --disk

追踪activity disk的输入和输出,需要root设备

-i 或 --cpu-idle

追踪CPU的idel事件

-l 或 --cpu-load

追踪CPU的加载

-s或--no-cpu-sched

防止CPU调度的追踪,通过降低trace buffer的速率达到加长的trace时长的目的

-u 或 --bus-utilization

追踪bus的使用,需要root设备

-w 或 --workqueue

追踪work queue,需要root设备

--set-tags=

用于配置tag选项,

对于上面的--set-tags配置,可选项如下:

gfx 图形图像

input 输入

view 视图

webview

wm Window Manager

am Activity Manager

sync Synchronization Manager

audio

video

camera

注意:设置tag后,需要重启framework(’adb shell stop;adb shell start‘)暴躁配置生效。

如何查看trace.html文件

按键

作用

w

放大时间轴

s

缩小时间轴

a

向左移动面板

d

向右移动面板

e

以当前鼠标的位置为时间轴的中心

g

在选中的task开始时刻显示红线条

Shift+g

在选中的task结束时刻显示红线条

向右箭头

选中当前时间轴下一个事件

向左箭头

选中当前时间轴下一个事件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值