第32讲 Perfetto专题概述 - Android Camera性能分析

2024年10月30日 第32讲 Perfetto专题概述 极客笔记

本讲是Android Camera性能分析专题的第32讲,我们介绍Perfetto专题概述。

更多资源:

资源 描述
在线课程 极客笔记在线课程
知识星球 星球名称:深入浅出Android Camera
星球ID: 17296815
Wechat 极客笔记圈

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提供了

  1. 抓取Trace需要的服务进程二进制文件,可以用于抓取系统级和应用级的Trace、分析Native和Java Heap

  2. 基于SQL分析Trace的

  3. Web UI来可视化和分析大文件 Trace(上GB)

源码

Perfetto的架构

Trace Processer

  • 是一个可移植的C++17库

  • 被Perfetto UI作为Web Assembly模块、Android Studio和Android GPU Inspector作为本地C++库使用

Perfetto Android设备端架构

设备端有两个进程(如果没有这两个进程,请参考第6讲的内容设置属性将其打开)

  • traced_probes:收集ftrace和procfs下面的信息给traced

  • traced:收集atrace和traced_probes进程发送过来的buffer

本文链接:http://so.lmcjl.com/news/16587/

展开阅读全文