[Python解析systrace.html]chrome打开systrace分析,图形显示时间点与文本时间点一一对应,方便debug使用

一、编写这个脚本的理由:
抓取systrace之后,需要使用chrome在网站chrome://tracing/解析出来,但是很多时候,我们发现问题之后,需要vim systrace文件定位到具体位置。这时候问题来了,不容易查找这个task到底在文件的哪个位置。这个脚本的目的的就是解决此问题。

二、使用方式
在systrace上面作为零点判断的依据是irq、ipi或者task。目前抓取的systrace没有看到例外的。所以Python脚本里面使用上面三个之一作为零点的依据,即谁出现的最早谁就是零点。

python SystraceAnalysis.py -i systrace.html -o trace.txt -d delta_value
说明:
systrace.html是实际抓取的systrace
trace.txt:是时间戳修正的trace文件
delta_value:是chrome打开systrace.html之后手动查找的在浏览器上面看到的第一个ipi/irq/task的位置,delta_value数值单位为us,如果碰到其他单位,请自动转换。如1.3ms,则delta_value=1300
如下所示:
在这里插入图片描述

分三种情况来解析

  1. trace中第一次出现irq_handler_entry,则作为零点,delta value就是此irq在chrome显示的相对零点的数值,如上图所示为216
  2. trace中第一次出现ipi_raise,上面类似
  3. 在user版本中,不能使用irq event抓取systrace,所以systrace中不存在irq和ipi信息,那么这种就以sched_wakeup && sched_switch并行出现作为相对零点。如下图所以:
    在这里插入图片描述
    那么执行如下命令解析如下:
    python SystraceAnalysis.py -i 0703-3.html -o 0703-3-1.html -d 16
    示例在最后

三、解析之后如何使用
chrome打开原始systrace.html文件
找到delta_value数值
执行Python脚本:python SystraceAnalysis.py -i systrace.html -o trace.txt -d delta_value
vim 打开trace.txt,就可以对应到systrace.html上的各类信息了。

Python源码如下:https://github.com/samarxie/systrace/blob/master/SystraceAnalysis.py

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值