第36讲 perfetto 自动化之trace processor介绍 -凯发k8手机登录

本讲是android camera性能分析专题的第36讲,我们介绍perfetto 自动化之trace processor介绍。

更多资源:

资源 描述
在线课程
知识星球 星球名称:深入浅出android camera
星球id: 17296815
wechat 极客笔记圈

trace processor是什么

trace processor是一个c

  • 输入:各种格式编码的trace

  • 输出:sql接口

  • 这个库被嵌入到很多trace分析工具中

    • trace_processor 二进制文件

    • perfetto ui, 作为一个webassembly模块

    • android gpu inspector

    • android studio

trace processor是什么

运行trace processor

下载并运行trace processor

可以到github上下载基于linux或mac的可执行文件,单独运行:

# download prebuilts (linux and mac only)
curl -lo https://get.perfetto.dev/trace_processor
chmod  x ./trace_processor
# start the interactive shell
./trace_processor trace.perfetto-trace

示例:

运行trace processor

替换perfetto ui中的trace_processor

也可以用本地的trace_processor替换掉perfetto ui中的trace_processor,执行如下命令

# start a local trace processor instance to replace wasm module in the ui
./trace_processor trace.perfetto-trace --httpd

使用本地的trace_processor, perfetto ui通过tcp与之通信好处:

  • 无wasm 的内存限制,特别适用于加载大文件的trace

  • sql 查询的性能更好

运行metrics

可以执行如下命令,运行metrics

# 运行一个metrics
./trace_processor --run-metrics android_cpu trace.perfetto-trace
# 同时运行多个metrics
./trace_processor --run-metrics android_mem,android_cpu trace.perfetto-trace
# 输出binary格式(protobuf)
./trace_processor --run-metrics android_mem --metrics-output=binary trace.perfetto-trace
# 输出json格式
./trace_processor --run-metrics android_mem,android_cpu --metrics-output=json trace.perfetto-trace

trace processor中的线程和进程标识符

为什么不能直接使用pid/tid

  • 在android/linux系统中pid/tid可能被重复使用,所以无法用pid/tid来唯一标识进程/线程

trace processor使用utid(unique tid))和upid(unique pid)来唯一标识线程和进程。

camera课程

python教程

java教程

web教程

数据库教程

图形图像教程

办公软件教程

linux教程

计算机教程

大数据教程

开发工具教程

android camera性能分析

网站地图