标签:systrace trace chrome irq value html delta
一、编写这个脚本的理由:
抓取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
如下所示:
分三种情况来解析
- trace中第一次出现irq_handler_entry,则作为零点,delta value就是此irq在chrome显示的相对零点的数值,如上图所示为216
- trace中第一次出现ipi_raise,上面类似
- 在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
标签:systrace,trace,chrome,irq,value,html,delta 来源: https://blog.csdn.net/wuming_422103632/article/details/95049107
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。