长沙哪家制作网站好,二手书网站建设,微信运营网站建设,nginx配置wordpress1. Perfetto简介
Perfetto 是一个用于 Android 系统的性能跟踪工具#xff0c;可以帮助开发者分析系统性能和调试问题。 Perfetto 是 Android 10 中引入的全新平台级跟踪工具。这是适用于 Android、Linux 和 Chrome 的更加通用和复杂的开源跟踪项目。 在低于Android R的版本上…1. Perfetto简介
Perfetto 是一个用于 Android 系统的性能跟踪工具可以帮助开发者分析系统性能和调试问题。 Perfetto 是 Android 10 中引入的全新平台级跟踪工具。这是适用于 Android、Linux 和 Chrome 的更加通用和复杂的开源跟踪项目。 在低于Android R的版本上面默认是关闭的,需要先执行命令打开:
adb shell setprop persist.traced.enable 1
对比Systrace 有很多优点 进程名称显示完整 Binder跨进程点击跳转跟踪方便不需要类似systrace一样跟踪Binder跳转时需要挨个查看线程号 支持置顶你感兴趣的线程放在一起分析更容易 看线程被谁唤醒非常方便 可以同时跟踪内存/电压/event log等信息 2. 抓取方式
perfetto 命令包含以下两种模式 轻量模式只能选择一部分数据源具体来说就是 atrace 和 ftrace。但此模式可提供类似于 systrace 的接口。 普通模式从协议缓冲区获取其配置并且可以让您使用 atrace 和 ftrace 之外的数据源从而更加充分地利用 perfetto 的功能。 2.1 轻量模式
在轻量模式下使用 perfetto 的一般语法如下 adb shell perfetto [ --time TIMESPEC ] [ --buffer SIZE ] [ --size SIZE ] [ ATRACE_CAT | FTRACE_GROUP/FTRACE_NAME | FTRACE_GROUP/* ]… 抓取: adb shell perfetto -o /data/misc/perfetto-traces/trace_file.perfetto-trace -t 20s sched freq idle am wm gfx view 取出文件: adb pull /data/misc/perfetto-traces/trace_file.perfetto-trace 参考链接 抓取Systrace方法汇总
2.2 普通模式
在普通模式下使用 perfetto 的一般语法如下 adb shell perfetto [ --txt ] --config CONFIG_FILE
选项说明- -config CONFIG_FILE 或 -c CONFIG_FILE指定配置文件的路径。- -txt指示 perfetto 将配置文件解析为 pbtxt。此标记为实验性标记不建议您在正式版中启用此标记。
执行命令 adb push perfetto–config.pbtx /data/misc/perfetto-traces/ adb shell perfetto --txt --config /data/misc/perfetto-traces/perfetto_config.pbtx --out /data/misc/perfetto-traces/1.perfetto-trace adb pull /data/misc/perfetto-traces/1.perfetto-trace 配置文件:perfetto_config.pbtx
buffers: {size_kb: 522240fill_policy: RING_BUFFER
}
buffers: {size_kb: 2048fill_policy: RING_BUFFER
}
data_sources: {config {name: linux.process_statstarget_buffer: 1process_stats_config {scan_all_processes_on_start: true}}
}
data_sources: {config {name: android.logandroid_log_config {}}
}
data_sources: {config {name: android.surfaceflinger.frametimeline}
}
data_sources: {config {name: android.game_interventions}
}data_sources: {config {name: android.packages_list}
}data_sources: {config {name: linux.ftraceftrace_config {ftrace_events: sched/sched_switchftrace_events: power/suspend_resumeftrace_events: sched/sched_wakeupftrace_events: sched/sched_wakeup_newftrace_events: sched/sched_wakingftrace_events: power/cpu_frequencyftrace_events: power/cpu_idleftrace_events: power/gpu_frequencyftrace_events: raw_syscalls/sys_enterftrace_events: raw_syscalls/sys_exitftrace_events: sched/sched_process_exitftrace_events: sched/sched_process_freeftrace_events: task/task_newtaskftrace_events: task/task_renameftrace_events: ftrace/printatrace_categories: gfxatrace_categories: inputatrace_categories: viewatrace_categories: wmatrace_categories: amatrace_categories: halatrace_categories: resatrace_categories: dalvikatrace_categories: bionicatrace_categories: pmatrace_categories: ssatrace_categories: databaseatrace_categories: aidlatrace_categories: binder_driveratrace_categories: binder_lockatrace_categories: schedatrace_categories: freqatrace_apps: *}}
}
duration_ms: 10000
write_into_file: true
file_write_period_ms: 2500
max_file_size_bytes: 256000000
flush_period_ms: 30000
incremental_state_config {clear_period_ms: 5000
}3. 打开Trace文件
打开网站 https://ui.perfetto.dev/ 将trace文件拖入即可