一,perfetto的作用
Perfetto的作用是提供一个性能检测和跟踪分析工具集,用于Android、Linux和Chrome平台。
Perfetto是Google推出的一款全新的平台级跟踪分析工具,它从Android 10开始被引入,旨在替代之前的systrace工具。Perfetto的核心特点包括用户空间到用户空间的跟踪协议,基于protobuf序列化机制的数据填充到共享内存缓冲区,以及支持获取内置数据源(如ftrace、atrace、logcat)的信息。此外,Perfetto还提供了SDK和Library供C++应用程序使用,以实现定制化的性能监测。
在Perfetto中抓取trace的方法通常涉及使用特定的命令行工具,其中:
-o 参数指定了抓取文件的输出目录和文件名。
-t 参数则用来设置抓取的时间,例如设置为20秒。
要开始使用Perfetto抓取trace,你需要确保你的设备运行的是Android 9.0(API级别28)或更高版本的操作系统。通过适当的命令行工具和参数配置,你可以启动Perfetto来记录系统跟踪信息。这些信息随后可以用于分析和优化应用程序和系统的性能
二、抓取以及查看trace文件网页
新版的
1.https://ui.perfetto.dev/
总体上是新版好用,如果遇到别人分享的trace文件新版打开文件失败可以试下旧版或者看下是不是中文文件名导致的
三、使用步骤
1.1 启动跟踪服务
Perfetto 基于自 Android 9 (P) 以来可用的平台服务,但默认情况下仅在 Android 11 (R)。 在 Android 9 (P) 和 10 (Q) 上,您需要执行以下操作以确保 在开始之前启用跟踪服务:
# Needed only on Android 9 (P) and 10 (Q) on non-Pixel phones.
adb shell setprop persist.traced.enable 1
1.2 记录跟踪,trace抓取的3中方式
命令行工具:
直接使用设备上的命令: /system/bin/perfetto
用户界面工具:
通过 Perfetto UI 中的记录页面。
使用设备上的系统跟踪应用
1.2.1 通过 Perfetto UI 记录跟踪
浏览器打开 ui.perfetto.dev,然后从左侧菜单中选择“记录新跟踪”。
如果不确定,请首先打开“CPU”选项卡下的“计划详细信息”。(这里生成命令需要的 CONFIG_FILE ,可查看 Recording settings )
确保设备已连接,然后选择“添加 ADB 设备”。一旦您的设备 已成功配对(您可能需要在设备上允许USB调试),选择“开始录制”按钮。
Navigation:文件导航选项:
Open trace file:导入protobuf 文件(通过perfetto生成的)
Open with legacy UI:导入systrace文件(通过systrace生成的)
Record new trace:Perfetto UI录制protobuf文件(后面会单独介绍)
Current Trace:当前trace选项
Show timeline:显示时间线
Download:下载此trace文件
Legacy UI&#