分享一个内核性能测试工具
目前工作是基于OpenWrt开发,经常要改善代码性能,但是OpenWrt又不支持perf。所以查找性能瓶颈时,就比较麻烦。于是利用业余时间写了个小工具,用于定位性能瓶颈的。编码,测试,加文档(README)大概花了3个小时左右,后面会根据自己的需求(或者大家的需求)进行改善。
这个是链接地址https://github.com/gfreewind/unit_perf
大家多提宝贵意见,觉得还行的话,就给赞个星星。
谢谢分享!
请教monitor point name对应一个什么实体?一个模块 or 一个函数? 回复 2# nswcfd
一个监控点,内部用于索引。
回复 2# nswcfd
简单的说,
1. add_monitor_point:用于创建一个monitor point;
2. 在想监控的代码起始位置,执行start_monitor;
3. 在监控代码的结束未知,执行end_monitor;
start_monitor参数name可以直接用函数名宏替换,嵌入到所有要跟踪函数的入口和出口?
另外line245,忘记释放内存了。 回复 5# 镇水铁牛
嗯,用宏确实是好建议,已采纳。错误处理忘记释放内存,也已修正。
关于这个问题“嵌入到所有要跟踪函数的入口和出口?”,目前确实是这样。
不过这个我觉得也可以接受。
因为当需要跟踪所有函数时,这时候就应该使用perf或者其它profile工具了。
这个小工具主要用于:
1. Perf不支持的环境;
2. 代码只占整个儿系统的一小部分,使用Perf等可能无法得到期望的结果;
3. 可能只分析一段代码而不是一个函数;比如一个函数的某几行代码;
回复 1# GFree_Wind
好东西,赞高兄!
回复 7# Godbach
多谢赵兄了。帮我点个星星?
这个算不上什么好东西,是一个还算有用的小工具吧。
我已经在工作中用起来了,这样有什么问题或者需求,也就随手添加了。
回复 8# GFree_Wind
好的,我没怎么用 github,回头搞起。
回复 9# Godbach
github还是有不少好东西的。
另外自己的工具代码放到github上,也很方便
页:
[1]
2