Android Perfetto使用

本文介绍了Perfetto作为systrace的升级替代工具,它不仅提供与systrace相同的功能,还支持长时间追踪。在Android Q及以上版本,Perfetto默认启用。文章详细讲解了如何在不同模式下执行Perfetto命令来捕获trace,包括简单模式和普通模式,并提到了使用Perfetto UI进行分析。此外,还提供了参考文档链接以供深入学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Perfetto是systrace 的替代,可以实现systrace的功能, 同时提供了更强大的功能, 个人认为最大优势是可以支持长时间tracing。本文只介绍如何抓trace, 不包含分析trace。

Android Q及P

 先设置:

adb shell setprop persist.traced.enable 1

Android Q以上perfetto 默认运行, 无需上述步骤。 

执行perfetto

两种方式,两种方式不能混用:

  • 简单模式:使用类似与systrace。如果需要设定时间加 -t, 默认跟踪10s。 -o 输出文件的位置, 使用/data/misc/perfetto-traces/, 否则perfetto没有权限访问, 然后pull出文件, 在Perfetto UI中打开使用。如下命令可直接使用,通常这种信息对大多数情况都够用了。 

adb shell perfetto  gfx input view wm am ss sched freq idle binder_driver res rs  -o /data/misc/perfetto-traces/trace -t 10s

adb pull /data/misc/perfetto-traces/trace ~/trace

  • 普通模式:借助config 文件配置要调试的内容, 命令行如下, 其中config.pbtx为config file, 可以借助Perfetto UI的recording setting (Perfetto UI) 生成,或者在Perfetto UI中的redording settings中设置后好, 在recording command 中copy  所有内容, 在terminal中直接copy执行即可。 

cat config.pbtx | adb shell perfetto -c - --txt -o /data/misc/perfetto-traces/trace.perfetto-trace

注: perfetto会从以下路径检测是否有ftrace: sys/kernel/tracing or sys/kernel/debug/tracing. 如果系统中有其他任务同时打开trace_on, perfetto无法抓取ftrace。 

参考文档:

Quickstart: Record traces on Android - Perfetto Tracing Docs

Perfetto工具使用简介 - 简书
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值