使用 Python2.7 抓取 systrace 文件

为了排查安卓终端系统底层问题,需要抓取终端的systrace文件分析,下面是操作步骤:

1、安装python 2.7
2、打开cmd执行命令安装python包:pip install pypiwin32
3、解压six-1.16.0.tar.gz,进入目录用命令安装six:python setup.py install
4、adb 连接设备:adb connect x.x.x.x:5555
5、进入目录systrace,执行命令:python systrace.py -t 10 -o systrace.html
6、执行成功后,目录下生成systrace.html,使用google的chrome打开,如果打开是一片空白,在地址栏里输入:chrome://tracing,然后回车进入tracing模式,再打开html

1、安装python 2.7 (内含PIP)

python2.7安装目录下没有Scripts文件夹。这种问题可能是你装的python安装包年代久远了,到官网下载最新的python2.7安装能解决这个问题。

python需下载2.7.9 ~ 2.7.18版本才行
因为platform-tools提供的systrace脚本工具要求的python环境是python2。
其次 pip仅在2.7.9之后才集成在安装包,pip是作为python很重要的模块工具。
这里也给出了python官网的地址,可以到历史版本中去找到对应版本下载。

例如:python2.7.14下载地址:https://www.python.org/ftp/python/2.7.14/python-2.7.14.msi
Scripts文件夹里面一般都会有的东西:
python安装目录下有Scripts文件夹。那么我们就可以开始使用pip安装插件库了
在这里插入图片描述
在这里插入图片描述

2、打开cmd执行命令安装python包:

默认官方安装:

pip install pypiwin32

国内镜像安装:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pypiwin32
pip install -i https://mirrors.aliyun.com/pypi/simple/ pypiwin32

pypiwin32是一个Python库,它提供了对Windows操作系统的底层访问。这个库可以让你在Python中调用Windows API函数,从而实现一些特定的功能,如操作注册表、文件系统、网络等。
在这里插入图片描述

3、解压six-1.16.0.tar.gz,进入目录用命令安装six:

python setup.py install

six-1.16.0.tar.gz 是一个 Python 库的压缩包,用于提供兼容 Python 2 和 Python 3 的兼容性功能。要安装six库,你需要先解压该文件,然后使用 Python 的 setuptools 工具进行安装。
six库的主要目的是提供Python 2和Python 3之间的兼容性支持。它包含了许多实用函数和装饰器,用于编写同时兼容Python 2和Python 3的代码。
在这里插入图片描述

4、adb 连接设备:adb connect x.x.x.x:5555

5、进入目录systrace,执行命令:

python systrace.py -t 10 -o systrace.html

这里的-t 10表示捕获10秒的数据,-o systrace.html指定输出文件为systrace.html。
在这里插入图片描述

6、使用 Chrome 打开 systrace.html

如果打开是一片空白,在地址栏里输入:chrome://tracing,然后回车进入tracing模式,再打开html
在这里插入图片描述
在这里插入图片描述
systrace.html文件分析:
在进程的上面有一条很细的进度条,包含了该线程的状态:
  灰色: 睡眠。
  蓝色: 可以运行(它可以运行,但还未被调度运行)。
  绿色: 正在运行(调度程序认为它正在运行)。
  红色: 不间断的睡眠(通常发生在内核锁上), 指出I / O负载,对于性能问题的调试非常有用
  橙色: 由于I / O负载导致的不间断睡眠。
  要查看不间断睡眠的原因(可从sched_blocked_reason跟踪点获取),请选择红色不间断睡眠切片。

按键操作       作用
w             放大,[+shift]速度更快
s             缩小,[+shift]速度更快
a             左移,[+shift]速度更快
d             右移,[+shift]速度更快
 
f             放大当前选定区域
m             标记当前选定区域
v             高亮VSync
g             切换是否显示60hz的网格线
0             恢复trace到初始态,这里是数字0而非字母o
 
h             切换是否显示详情
/             搜索关键字
enter      显示搜索结果,可通过← →定位搜索结果
`             显示/隐藏脚本控制台
?             显示帮助功能
  • 15
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值