高通 dump ftrace & kernelshark 使用

简介

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

trace-cmd 编译安装

下载源码

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

trace-cmd编译安装:

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

crash tool 编译安装

  • crash tool 下载: https://people.redhat.com/anderson/
  • crash tool 使用:https://people.redhat.com/anderson/crash_whitepaper/

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

下载源码后直接编译:

make target=ARM64
make extensions

rdp 解析 ftrace

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

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 选项

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

----------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 直接安装:

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 事件都可以图形化查看。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值