抓trace perfetto分析

  • Perfetto 是 Android 10 中引入的全新平台级跟踪工具
  • Perfetto是下一代系统性能的分析工具,它取代了systrace。 仍完全支持SYSTRACE,可以将Perfetto理解为systrace的升级版,可以用来替代传统的 systrace 工具
  • systrace会将生成 Trace.html 文件,使用 Chrome 将这个文件打开进行分析
    https://perfetto.dev/
    trace

与 atrace 不同,perfetto 旨在提供更细粒度的控制和更丰富的数据收集选项。ptrace是二进制的

#有的手机traced功能默认是关闭状态的
adb shell setprop persist.traced.enable 1
# 20s
adb shell perfetto -o /data/misc/perfetto-traces/trace_file.perfetto-trace -t 20s \ 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

atrace 是 Android Trace 的缩写
atrace时文本可视化的

# 使用adb 命令(atrace)抓起systrace的方法
adb shell atrace view am wm freq idle sync sched aidl gfx -a com.android.camera -t 5 > anddemo.trace
capturing trace... done
TRACE:
# tracer: nop
#
# entries-in-buffer/entries-written: 365613/365613   #P:8
#
#                                          _-----=> irqs-off
#                                         / _----=> need-resched
#                                        | / _---=> hardirq/softirq
#                                        || / _--=> preempt-depth
#                                        ||| /     delay
#           TASK-PID       TGID    CPU#  ||||   TIMESTAMP  FUNCTION

代码中
Debug类只能监控 Java函数调用, 而Trace类底层是使用 atrace 实现,其追踪的函数会包含了应用及系统的Java 和Native函数,并且底层基于ftrace还可以追踪cpu的详细活动信息。

Debug.startMethodTracing,data/data/package下边生成trace文件
Trace.begainSection、Trace.endSection()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值