免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4498 | 回复: 11

[实践] 分享一个内核性能测试工具 [复制链接]

论坛徽章:
0
发表于 2015-06-05 11:16 |显示全部楼层
目前工作是基于OpenWrt开发,经常要改善代码性能,但是OpenWrt又不支持perf。所以查找性能瓶颈时,就比较麻烦。
于是利用业余时间写了个小工具,用于定位性能瓶颈的。编码,测试,加文档(README)大概花了3个小时左右,后面会根据自己的需求(或者大家的需求)进行改善。

这个是链接地址https://github.com/gfreewind/unit_perf

大家多提宝贵意见,觉得还行的话,就给赞个星星。

评分

参与人数 3可用积分 +30 信誉积分 +2 收起 理由
platinum + 10 很给力!
Godbach + 10 赞一个!
embeddedlwp + 10 + 2 赞一个!

查看全部评分

论坛徽章:
20
程序设计版块每日发帖之星
日期:2015-08-17 06:20:00程序设计版块每日发帖之星
日期:2016-07-16 06:20:00程序设计版块每日发帖之星
日期:2016-07-18 06:20:00每日论坛发贴之星
日期:2016-07-18 06:20:00黑曼巴
日期:2016-12-26 16:00:3215-16赛季CBA联赛之江苏
日期:2017-06-26 11:05:5615-16赛季CBA联赛之上海
日期:2017-07-21 18:12:5015-16赛季CBA联赛之青岛
日期:2017-09-04 17:32:0515-16赛季CBA联赛之吉林
日期:2018-03-26 10:02:16程序设计版块每日发帖之星
日期:2016-07-15 06:20:0015-16赛季CBA联赛之江苏
日期:2016-07-07 18:37:512015亚冠之萨济拖拉机
日期:2015-08-17 12:21:08
发表于 2015-06-05 17:24 |显示全部楼层
谢谢分享!
请教monitor point name对应一个什么实体?一个模块 or 一个函数?

论坛徽章:
0
发表于 2015-06-05 17:39 |显示全部楼层
回复 2# nswcfd

一个监控点,内部用于索引。

   

论坛徽章:
0
发表于 2015-06-05 18:59 |显示全部楼层
回复 2# nswcfd

简单的说,
1. add_monitor_point:用于创建一个monitor point;
2. 在想监控的代码起始位置,执行start_monitor;
3. 在监控代码的结束未知,执行end_monitor;


   

论坛徽章:
2
寅虎
日期:2014-11-25 21:47:342015小元宵徽章
日期:2015-03-06 15:58:18
发表于 2015-06-06 07:29 |显示全部楼层
start_monitor参数name可以直接用函数名宏替换,嵌入到所有要跟踪函数的入口和出口?
另外line245,忘记释放内存了。

论坛徽章:
0
发表于 2015-06-06 20:44 |显示全部楼层
回复 5# 镇水铁牛

嗯,用宏确实是好建议,已采纳。错误处理忘记释放内存,也已修正。

关于这个问题“嵌入到所有要跟踪函数的入口和出口?”,目前确实是这样。
不过这个我觉得也可以接受。

因为当需要跟踪所有函数时,这时候就应该使用perf或者其它profile工具了。
这个小工具主要用于:
1. Perf不支持的环境;
2. 代码只占整个儿系统的一小部分,使用Perf等可能无法得到期望的结果;
3. 可能只分析一段代码而不是一个函数;比如一个函数的某几行代码;


   

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2015-06-07 00:19 |显示全部楼层
回复 1# GFree_Wind

好东西,赞高兄!


   

论坛徽章:
0
发表于 2015-06-07 08:18 |显示全部楼层
回复 7# Godbach

多谢赵兄了。帮我点个星星?

这个算不上什么好东西,是一个还算有用的小工具吧。

我已经在工作中用起来了,这样有什么问题或者需求,也就随手添加了。


   

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2015-06-07 15:20 |显示全部楼层
回复 8# GFree_Wind

好的,我没怎么用 github,回头搞起。


   

论坛徽章:
0
发表于 2015-06-07 17:59 |显示全部楼层
回复 9# Godbach

github还是有不少好东西的。

另外自己的工具代码放到github上,也很方便


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP