第6讲 如何通过perfetto抓取trace -凯发k8旗舰厅

本讲是android camera性能分析专题的第6讲,我们介绍如何通过perfetto抓取trace,包括如下内容:

  1. 启动tracing服务
  2. 通过命令行方式抓取perfetto trace
    1. 通过python脚本抓取perfetto trace
    2. 通过perfetto命令抓取perfetto trace
  3. 通过ui方式抓取perfetto trace
资源 描述
在线课程
知识星球 星球名称:深入浅出android camera
星球id: 17296815
wechat 极客笔记圈

启动tracing服务

从android p开始android引入perfetto,在android r才默认打开tracing服务

打开方法

  • android p和android q才需要手动先打开
# needed only on android 9 (p) and 10 (q) on non-pixel phones.
adb shell setprop persist.traced.enable 1
adb reboot

确认相关服务是否正常启动

hwpct:/ $ ps -a |grep -ie "traced"
nobody        1016     1   46520   2444 0                   0 s traced
nobody        1017     1   46520   2624 0                   0 s traced_probes

通过命令行方式抓取perfetto trace

通过python脚本抓取perfetto trace

抓取perfetto的python脚本

  • /external/perfetto/tools/record_android_trace

执行抓取命令(与systrace类似)

python3 record_android_trace -o trace_file.perfetto-trace -t 10s -b 32mb -n sched freq idle am wm gfx view binder_driver hal dalvik camera input res memory

还可以指定configure文件

  • 如何产生perfetto configure文件
    • 见视频讲解
  • 命令
    python3 record_android_trace -o trace_file.perfetto-trace -t 10s -b 32mb -n -c record_camera.config
    

通过perfetto命令抓取perfetto trace

执行抓取命令

adb shell perfetto -o /data/misc/perfetto-traces/trace_file.perfetto-trace -t 10s sched freq idle am wm gfx view binder_driver hal dalvik camera input res memory
adb pull /data/misc/perfetto-traces/trace_file.perfetto-trace

还可以指定configure文件

adb push record_camera.config /data/local/tmp/record_camera.config
adb shell “cat /data/local/tmp/record_camera.config | perfetto --txt -c - -o /data/misc/perfetto-traces/trace.perfetto-trace”
adb pull /data/misc/perfetto-traces/trace.perfetto-trace

通过ui方式抓取perfetto trace

在settings中配置和打开trace

developer options > system tracing
  • 选择category
  • show quick settings title

pull 抓取到的trace

adb pull /data/local/traces

camera课程

python教程

java教程

web教程

数据库教程

图形图像教程

办公软件教程

linux教程

计算机教程

大数据教程

开发工具教程

android camera性能分析

网站地图