性能优化:手把手教你perfetto抓取直接用chrome浏览器踩坑笔记

背景

在性能优化中perfetto抓取的方式相对比较多,不过大体上分为以下几种方式:
1、直接android设备上使用perfetto命令抓取

2、使用aosp中提供相关脚本抓取

3、直接使用perfetto网页在chrome浏览器直接抓取

在这里插入图片描述
第1,2两种方式都有介绍过,只有第3种浏览器直接抓取这种方式没有介绍过,所以本文主要来介绍第3种方式来抓取的相关实战方法。

chrome浏览器直接抓取

1、进入抓取页面
点击进入主页
https://ui.perfetto.dev/
左边点击 “Record new trace”按钮进入如下画面

在这里插入图片描述
2、如何发现设备(最大的障碍)

默认情况下选着android部分,默认链接设备方式是“WebUsb”这种方式
在这里插入图片描述
但是比较遗憾大家发现我们的模拟器起来后,这里根本无法发现我们的设备
在这里插入图片描述
其实这个也就是以前没有给大家介绍这种方式抓取的原因哈,chrome浏览器连模拟器这个设备都发现不了,谈何抓取。
在这里插入图片描述
在这里插入图片描述
最后发现确实模拟器设备用WebUsb方式无法发现设备,原因暂时没有追究,不过尝试实体机手机确实是可以发现的,插上实体手机后就会有相关提示,当然前提需要手机需要开启usb调试相关。
3、实体手机设备抓取
在这里插入图片描述
点击上面登录按钮后显示如下:
在这里插入图片描述

如果要抓取trace只需要点击上面的“Start tracing”按钮既可以,期间也会详细显示抓取进度,相关抓取的参数可以直接点击左边这些既可以。
抓取进度

抓取相关参数配置
抓取完成会自动跳转显示trace相关文件
在这里插入图片描述因为采用WebUsb这种方式,它提示中也写了对设备进行了独占,建议使用第二种方式

This is the easiest option to use but requires exclusive access to the device. If you are an android developer and use ADB, you should use the websocket option instead.

4、如何抓取自编译模拟器的?

因为用WebUsb方式无法发现自编译模拟器的设备,所以只能考虑用其他方式发现设备:
在这里插入图片描述
点击这种“ADB + WebSocket”方式后,发现有一堆错误提示,无法链接发现设备。
在这里插入图片描述
建议我们操作如下几步:

adb start-server
curl -LO get.perfetto.dev/tracebox
chmod +x ./tracebox
./tracebox websocket_bridge

上面其实看出,本质上就是下载个tracebox文件,然后执行这个tracebox文件既可以,但是下载这个tracebox文件一般国内网络都不行哈,所以这里可能又会阻碍一批人,不过这里马哥给大家提供一个 ubuntu 64位可以直接执行的文件

https://share.weiyun.com/djrDvGWU 密码:1q95lf
然后运行如下:
在这里插入图片描述这里刷新一些画面就可以看到我们的模拟器设备了,可以进行正常抓取了
在这里插入图片描述
更多framework实战干货,请关注下面“千里马学框架”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千里马学框架

帮助你了,就请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值