文章目录
  1. 1. 简介
  2. 2. trace-cmd 编译安装
  3. 3. crash tool 编译安装
  4. 4. rdp 解析 ftrace
  5. 5. 使用 kernelshark

简介

高通 ramdump 可以解析出 ftrace,方便用于追踪 快省稳 问题。
kernelshark 是一个可以查看 trace event 的图形化工具,方便梳理和观察内核微观行为。
trace-cmd 是设置读取 ftrace 的命令行工具,kernelshark既可以记录数据,也可以图形化分析结果。
在 /sys/kernel/debug/tracing/events 终端打开所需要监控的 trace event。

trace-cmd 编译安装

下载源码

1
git clone https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git

trace-cmd编译安装:

1
make install--------------------------只安装trace-cmd

crash tool 编译安装

但这里高通 rdp 工具使用 crash 来处理 dump 里的 ftrace rawdata,再使用 trace-cmd 来把 rawdata 转换为 Ftrace.txt.

下载源码后直接编译:

1
2
make target=ARM64
make extensions

rdp 解析 ftrace

把上面编译出来的路径写入 linux-ramdump-parser-v2/local_settings.py

1
2
3
trace_ext = "/home/baihaowen/3T_DISK/tools/crash/crash/extensions/trace.so"
crashtool = "/home/baihaowen/3T_DISK/tools/crash/crash/crash"
tracecmdtool = "/usr/bin/trace-cmd"

解析 dump ftrace 需要加上 –dump-ftrace 选项

1
sudo python ramparse.py --vmlinux /debug/apps/vmlinux --auto-dump /Port_NPI56/ -o /Port_NPI56/rdpout/ --everything --force-hardware msmnile -x --ipc-skip --dump-ftrace

rdp 解析 ftrace 成功: rdpout/dmesg_TZ.txt

1
2
3
4
5
6
7
----------begin FtraceParser----------
/home/baihaowen/3T_DISK/tools/crash/crash/crash
args to crash: ['/home/baihaowen/3T_DISK/tools/crash/crash/crash', '--kaslr=0xf5b600000', '--machdep', 'kimage_voffset=0xffffff8ee3600000', '/Port_NPI56/DDRCS0_0.BIN@0x80000000,/Port_NPI56/DDRCS0_1.BIN@0x100000000,/Port_NPI56/DDRCS1_0.BIN@0x180000000,/Port_NPI56/DDRCS1_1.BIN@0x200000000,', '/debug/apps/vmlinux', '-p 4096', '-i /home/baihaowen/3T_DISK/tools/qcom-tools/M1971_rdp_tools/linux-ramdump-parser-v2/tmp/973QAFV3KF2XS_NPI56_dump_60H_20190906102228/tmpmInKQ6']
crash standard output recorded.
Ftrace successfully extracted.
trace-cmd standard error recorded.
------------end FtraceParser----------

使用 kernelshark

ubuntu 直接安装:

1
sudo apt-get install kernelshark

把 rdpout 目录生成的 rawtracedata 改名字为 rawtracedata.dat,再打开 kernelshark 载入 rawtracedata.dat

kernelshark 的使用:file:///usr/share/kernelshark/html/index.html (安装后)

如果单单是 trace event 文本,巨量的 trace 信息根本无法直观分析。 现在使用 kernelshark,io writeback、cpu schedule、memory alloc/reclaim 事件都可以图形化查看。

文章目录
  1. 1. 简介
  2. 2. trace-cmd 编译安装
  3. 3. crash tool 编译安装
  4. 4. rdp 解析 ftrace
  5. 5. 使用 kernelshark