本讲是Android Camera性能分析专题的第32讲,我们介绍Perfetto专题概述。
更多资源:
资源 | 描述 |
---|---|
在线课程 | 极客笔记在线课程 |
知识星球 | 星球名称:深入浅出Android Camera 星球ID: 17296815 |
极客笔记圈 |
Perfetto专题内容规划
分类 | 描述 |
---|---|
Perfetto for CPU | 1.CPU Usage 2.CPU Frequency 3.CPU Scheduling |
Perfetto for Memory | 1. Android Memory Management Overview 2. Perfetto Memory Related Counters and events 3. Analyzing the Java Heap 4. Analyzing the Native Heap 5. Analyzing the Dmabuf Memory 6. Analysis LMK Issue from Perfetto |
Perfetto for GPU | 1. Analyzing GPU Memory and Frequency |
Perfetto 自动化 | 1. Perfetto SQL Tables Introduction 2. Perfetto how to write SQL query 3. Perfetto Common used queries 4. Perfetto Pivot Tables V2 Introduction 5. Perfetto Debug slices Introduction 6. Perfetto metric introduction 7. Perfetto common used metrics 8. Trace analysis from Python SDK |
Perfetto 客制化 | 1. How to build and run Perfetto UI in local 2. Perfetto show custom ftrace 3. Perfetto add custom metric |
Perfetto Misc | 1. Perfetto UI different version introduction 2. Enable Android Log in Perfetto 3. Callstack sampling by Perfetto 4. Recording traces on Android boot |
Perfetto是什么
Perfetto 是Google推出的一个生产级的开源软件,用于性能检测和Trace分析,适用于Android/Linux/Chrome等操作系统。
-
在Android上systrace已被Perfetto完全取代
-
Perfetto还在快速发展中,从Github看每周都有大量的commit
Perfetto提供了
-
抓取Trace需要的服务进程和二进制文件,可以用于抓取系统级和应用级的Trace、分析Native和Java Heap
-
基于SQL分析Trace的库
-
Web UI来可视化和分析大文件 Trace(上GB)
源码
-
AOSP:/external/perfetto/
Perfetto的架构
Trace Processer
Perfetto Android设备端架构
设备端有两个进程(如果没有这两个进程,请参考第6讲的内容设置属性将其打开)
-
traced_probes:收集ftrace和procfs下面的信息给traced
-
traced:收集atrace和traced_probes进程发送过来的buffer