小酌鸡汤
少而不学,老而不识。
本文来源《Android 性能优化 全家桶》
Perfetto详细介绍哪些?
Perfetto提供数据源超集,这是一个相对模糊的概念,尽量容易的去理解它,所以主要提供Perfetto的能力介绍。
Perfetto的 详细介绍 开始吧~
(1)Perfetto能力整体概览
Perfetto 能力整体概览- 系统分析(适用于Linux和Android的系统范围分析)
Linux内核跟踪:捕获高频ftrace数据:调度活动,任务切换延迟,CPU频率等等
用户空间分析器和额外的探针:本机堆分析,Java堆分析,/ proc状态文件的轮询器
内置于Android:自Android 9 Pie以来该平台的一部分,也可在Linux上运行 - 应用追踪
高效的跟踪点仪器:以高吞吐量,低开销的跟踪点记录C ++应用程序的活动
结构化和可配置的事件:定义自定义protobuf消息以表示强类型的应用程序特定信息,仅跟踪您需要的信息
与系统范围的跟踪集成:在同一时间线上将应用程序的状态与系统范围内的分析数据相关联 - 跟踪查看器
交互式痕迹探索:使用Perfetto UI记录,查看和处理跟踪数据
支持流行的跟踪格式文件:TraceEvent JSON,Android systrace,ftrace文本输出
完全在您的浏览器中运行:不涉及服务器交互,即使您离线也可以工作 - 痕量分析
基于SQL的跟踪模型:跟踪处理器提取跟踪并公开基于SQLite的接口以通过外壳和UI访问跟踪的内容
大痕量分析:支持高达数十GB的跟踪
可互操作的:可以导入和导出流行的跟踪格式:Chromium JSON跟踪格式,Android Systrace,ftrace,CSV
(2)Perfetto-系统分析,应用程序跟踪和跟踪分析
Perfetto是用于性能检测和跟踪分析的生产级开源堆栈。它提供用于记录系统级和应用程序级跟踪的服务和库,本机+ Java堆分析,使用SQL分析跟踪的库以及基于Web的UI以可视化和探索多GB跟踪。
Perfetto 整体架构图(3)Perfetto traceconv工具
traceconv工具将Perfetto跟踪转换为其他跟踪格式。
Perfetto traceconv工具(4)痕量分析-跟踪处理器
*跟踪处理器是一个C ++库(/ src / trace_processor),它吸收以多种格式编码的跟踪,并公开一个SQL接口,用于查询一致的表集中所包含的跟踪事件。它还具有其他功能,包括计算摘要度量,使用用户友好的描述注释跟踪以及从跟踪的内容派生新事件。
痕量分析 跟踪处理器 痕量分析 基于跟踪的指标(5)heapprofd:Android堆分析器
Perfetto heapprofd-Android堆分析器(6)Perfetto 完美的CI设计
此CI用于AOSP的TreeHugger的顶部(而不是替代)。它提供早期测试信号,并涵盖TreeHugger不支持的其他操作系统和较旧的Android设备。
Perfetto 完美的CI设计 架构图有四个主要部分:
- 前端:AppEngine。
- 控制器:AppEngine BG服务。
- 工作者:Compute Engine + Docker。
- 数据库:Firebase实时数据库。
它们通过Firebase数据库耦合。DB是整个CI的真理之源。
(7)在Android / Linux上进行系统范围跟踪的安全模型
Perfetto 系统范围跟踪的安全模型一图胜千言,剩下的一起探索吧…
小编的扩展链接
参考链接
娴静犹如花照水,行动好比风扶柳
举手之劳,赞有余香! ❤ 比心 ❤
网友评论