Android Perfetto 系列 3:熟悉 Perfetto View

💡 原文中文,约4800字,阅读约需12分钟。
📝

内容提要

本文介绍了如何在网页端打开Perfetto Trace,并解释了Perfetto Trace界面的各个区域的功能。文章还提供了Perfetto Trace的基本操作技巧,如快捷键操作、查看唤醒源、查看Critical Path、固定Thread、高亮Task、查看Buffer消耗情况、查看App执行超时、查看Log和分析Thread的Running信息。文章总结了Perfetto的基本界面和操作,并表示Google正在积极推广和维护Perfetto。

🔎

延伸解读

Perfetto 界面布局与核心区域

Perfetto Trace 界面分为四个区域:右侧操作区提供 Show timeline、Query、Metrics 和 Info and stats 功能;上方信息和操作区显示时间;中间 Trace 内容区按功能(如 CPU、Ftrace event)和 App Process 展示数据;下方信息区显示选中 Task 的详细信息。熟悉布局能快速定位所需信息。

高效操作技巧:快捷键与标记

Perfetto 支持类似 Systrace 的快捷键:w/s 缩放,a/d 移动,f 放大选中,m 临时标记,shift+m 持续标记,q 隐藏信息栏。插旗子可标记时间点。这些技巧能提升 Trace 分析效率,尤其适合处理大型 Trace。

关键分析功能:唤醒源与 Critical Path

通过点击 Runnable 或 Running 状态可查看 Task 的唤醒源,并跳转到 CPU Info 区域追踪连续唤醒。Critical Path 功能将依赖的 Task 聚集展示,帮助理解 Task 间关系。这些功能便于分析性能瓶颈和掉帧原因。

实用技巧:Buffer 消耗与超时分析

通过 Actual Timeline 可查看 Buffer 被 SurfaceFlinger 消费的情况,Expected Timeline 和 Actual Timeline 对比能快速定位 App 执行超时。结合 Android Logs 和 Ftrace events 可查看日志和时间线,分析 Thread Running 信息可了解 CPU 状态占比。

❓

Q&A

如何在网页端打开Perfetto Trace?

可以通过Open trace file或直接将Perfetto Trace拖到白色区域来打开Trace。

Perfetto Trace界面分为哪几个区域?

Perfetto Trace界面分为操作区、信息和操作区、Trace内容区和信息区四个区域。

Perfetto Trace有哪些基本操作技巧?

Perfetto Trace支持快捷键操作,如w/s放大/缩小,a/d左右移动,f放大选中,m临时标记等。

如何查看Task的唤醒源?

可以通过点击Task的Runnable状态或Running状态来查看唤醒源及相关信息。

Perfetto如何查看Buffer消耗情况?

可以通过App Process的Actual Timeline查看Buffer具体被哪个消费者消费。

Perfetto Trace的操作流畅性如何?

Perfetto Trace的操作非常流畅,即使打开500Mb的Trace也能保持顺滑。

🏷️

标签

➡️

继续阅读