chrome://tracing 性能分析神器

在Soc性能分析的时候,往往需要看一些master或slave的busy / idle状态占比,如果能像看波形那样看到各个master/slave在各个时间段的状态,这样可以非常直观地看出性能瓶颈点。

Chrome提供了一个可视化的trace viewer工具就可以达到这样的效果。

参考https://limboy.me/2020/03/21/chrome-trace-viewer/

在chrome浏览器中输入chrome://tracing/即可打开此工具,然后load你的json文件,就可以查看波形了。Json文件的格式,还可以参考https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU/edit#

如下的一个示例中,

"name""休息",  // 事件名,会展示在 timeline 上

 "cat""测试",  // 事件分类,类似 Tag,会在选中一个事件的时候,在下方选项卡中显示

 "ph""X", // phase,常用的有B / E / X / M,分别表示begin /end / complete / metadata event

 "ts"0,  //事件 开始发生的时刻点

"pid"0,  // process id

"tid"1, // thread id

"dur"28800000000, // duration,跟 phase X 搭配使用,表示事件的持续时间

"args": {"duration_hour"8"start_hour"0}} // 附加参数,在选中一个事件的时候,在下方选项卡中显示

 

注意:

1.  ts 和dur 的时间单位为 微秒(us)。

2. 如果phase为M,则name只能为以下5个中的一个。

[
    {"name": "休息", "cat": "测试", "ph": "X", "ts": 0, "pid": 0, "tid": 1, "dur": 28800000000, "args": {"duration_hour": 8, "start_hour": 0}},  
    {"name": "学习", "cat": "测试", "ph": "X", "ts": 28800000000, "pid": 0, "tid": 1, "dur":3600000000 , "args": {"duration_hour": 1, "start_hour": 8}},

    {"name": "休息", "cat": "测试", "ph": "X", "ts": 0, "pid": 0, "tid": 2, "dur": 21600000000} ,

    {"name": "process_name", "ph": "M", "pid": 0, "args": {"name": "一周时间管理"}},
    {"name": "thread_name", "ph": "M", "pid": 0, "tid": 1, "args": {"name": "第一天"}},
    {"name": "thread_name", "ph": "M", "pid": 0, "tid": 2, "args": {"name": "第二天"}}
]

有些时候,会看到在json文件开始的时候有"displayTimeUnit",文档中将可以选择ms ns,但试了一下,好像ts duration的时间单位依然是us

{"displayTimeUnit""ms""traceEvents":[

…..

]}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

123axj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值