resourceschedule_ffrt/tools/ffrt_trace_process
wangyulie ef080fd656 同步代码
Signed-off-by: wangyulie <wanglieyu@126.com>
2023-09-22 10:04:43 +08:00
..
ffrt_trace_process_gui.pyw 提供FFRT Trace工具包 2023-06-14 14:31:42 +08:00
ffrt_trace_process.py update tools and some description 2023-08-25 17:18:12 +08:00
ffrt_trace_recover.py 同步代码 2023-09-22 10:04:43 +08:00
readme.md 提供FFRT Trace工具包 2023-06-14 14:31:42 +08:00

FFRT Trace工具包目前包含两类工具

1、trace复原工具

主要针对因为ffrt改造导致原线程/任务的trace被拆分打散在各个ffrt线程上的可视化问题。

此工具的脚本:

  • ffrt_trace_recover.py

使用方法:

# 使用脚本复原trace会在输入文件同目录下复原一个以_ffrt_recover后缀的新文件
python3 ffrt_trace_recover.py -f in_trace.ftrace

2、trace分析工具

主要包含分析内容线程运行信息分析、task生命周期分析、task状态计数统计

此工具的脚本:

  • ffrt_trace_process.py分析脚本
  • ffrt_trace_process_gui.pyw可视化界面

使用方法:

1ffrt_trace_process.py的输入参数为两个

  • --file或-f必需输入的trace文件路径
  • --pid或-p可选指定处理的进程号默认处理第一个ffrt相关进程

执行示例如下:

python3 ffrt_trace_process.py --file in_trace.ftrace

脚本会将处理结果保存在文件同级目录下,以"_result"结尾的文件夹内,解析结果包含:

  • 任务生命周期统计task_info.csv
  • 线程运行信息统计thread-name.txt
  • 进程级信息统计summary.txt
  • 优化后的trace文件内部增加了task状态计数统计用于perfetto可视化

2ffrt_trace_process_gui.pyw用户界面使用

本地环境中配置python3可以直接双击ffrt_trace_process_gui.pyw执行提供可视化操作界面。

1点击选择trace文件

2进程id下拉列表中选择进程号进行解析
- 如果工具检测到使用FFRT的进程那么下拉列表只展示FFRT相关进程
- 如果工具没有检测到FFRT相关进程那么下拉列表中会展示所有进程

3解析完成后线程id下拉列表可选择查看线程级信息任务id下拉列表可选择查看任务级信息
- 线程级信息目前提供running时间、线程切换分类
- 任务级信息目前提供任务的生命周期信息

4保存解析结果保存目录同ffrt_trace_process.py脚本一致