首页
社区
课程
招聘
[原创]D Profile 开源性能分析工具
发表于: 2014-12-21 18:37 7958

[原创]D Profile 开源性能分析工具

irp 活跃值
1
2014-12-21 18:37
7958

D Profile 是一个win32/64 CPU, memory 性能分析工具,  Windows上一直缺乏合适的,轻量级的强大的性能分析工具,本意以VS 2008的profiler为蓝本,设计一个较为完备的profiler, 特别的添加对内存的性能分析,就有了这个工具。我自己的体验是这个工具应该不比大多数商业版profiler差,
甚至更好。具体代码看:fe2K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6^5N6$3I4S2L8W2)9J5c8X3c8H3M7X3!0X3K9h3I4W2M7W2!0q4c8W2!0n7b7#2)9^5b7%4u0W2j5h3c8E0k6g2!0q4x3#2)9^5x3q4)9^5x3W2!0q4y4g2)9&6b7W2!0m8x3q4!0q4y4q4!0n7z5q4!0n7b7g2!0q4z5q4!0n7c8W2)9&6z5g2!0q4z5g2)9^5y4#2)9^5b7#2!0q4y4q4!0n7z5q4)9^5c8q4!0q4y4W2)9&6z5q4!0m8c8W2!0q4y4q4!0n7b7W2)9^5b7W2!0q4y4#2!0n7b7W2)9^5c8q4!0q4y4W2)9^5x3q4)9^5c8g2!0q4y4q4!0n7z5g2)9^5z5q4!0q4z5q4!0n7c8W2)9&6b7W2!0q4z5q4!0m8x3g2)9^5b7#2!0q4y4W2)9^5x3q4!0m8y4#2!0q4z5q4)9^5x3#2!0n7c8q4!0q4y4g2)9^5z5q4)9^5y4W2!0q4y4W2)9&6c8g2)9&6x3q4!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4W2)9&6z5q4!0m8c8W2!0q4y4g2!0n7x3g2)9&6y4g2!0q4y4#2!0m8y4q4!0n7b7g2!0q4z5q4!0n7c8W2)9&6z5g2!0q4y4q4!0n7z5q4!0m8b7g2!0q4y4g2!0n7y4#2!0m8y4g2!0q4y4g2)9^5y4g2!0n7y4#2!0q4y4#2)9&6b7g2)9^5y4q4!0q4y4q4!0n7b7W2)9^5b7W2!0q4y4#2!0n7b7W2)9^5c8q4!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4W2)9&6y4g2)9^5y4g2!0q4z5q4!0n7y4q4!0n7y4q4!0q4y4q4!0n7b7g2)9&6b7W2!0q4y4W2)9^5z5q4!0m8b7g2!0q4y4g2)9&6b7W2!0n7c8g2!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4#2!0m8c8g2)9^5x3q4!0q4y4g2)9^5c8q4)9&6y4g2!0q4y4q4!0n7b7W2)9^5b7W2!0q4y4#2!0n7b7W2)9^5c8q4!0q4x3#2)9^5x3q4)9^5x3W2!0q4y4g2)9^5y4g2!0n7x3#2!0q4y4q4!0n7b7g2)9^5c8g2!0q4y4g2!0m8y4W2)9^5x3W2!0q4y4q4!0n7c8q4)9&6y4g2!0q4y4g2)9^5z5q4)9^5y4W2!0q4y4W2)9&6c8g2)9&6x3q4!0q4y4W2)9^5x3q4!0m8y4#2!0q4z5q4)9^5x3#2!0n7c8q4!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4#2!0n7c8q4)9&6x3g2!0q4y4q4!0n7z5q4)9^5b7g2!0q4y4g2!0n7c8g2)9^5z5q4!0q4y4g2!0m8y4q4)9&6b7g2!0q4y4W2)9&6y4W2)9^5y4#2!0q4y4#2!0m8b7W2!0m8x3q4!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4W2!0m8c8q4!0m8y4q4!0q4y4g2!0n7y4#2!0m8y4g2!0q4y4g2)9^5y4g2!0n7y4#2!0q4y4#2)9&6b7g2)9^5y4l9`.`.
大多数概念计数器和VS的很类似,不表。

CPU 性能分析:

1, IPs On CPU


2,   Function


3,  Module


4, Thread


5, CallTree


6, FlameGraph


7, History


内存性能分析:

1, Oustanding Allocation ( 可能的内存泄露)


2, Heap Allocation by Module


3, Heap Allocation by CallTree


4, Heap Allocation by FlameGraph


这个工具缺少lock, io 的分析,不过在这个框架上扩展也是较为容易的。
dprofiler采用动态attach,detach的方式工作,不需要recompile code, 
只需要匹配的pdb,这一点已经优于绝大多数的开源profiler。
希望能对你有用,也不枉了几年化的心血,呵呵。

另外,dprofiler的核心引擎和我的另一个开源工具dprobe类似,不过专门为了做profiling作了裁剪,去掉了很多不安全的工作方式。有兴趣可以对照看看。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 3
支持
分享
最新回复 (4)
雪    币: 2673
活跃值: (3560)
能力值: ( LV13,RANK:1760 )
在线值:
发帖
回帖
粉丝
2
好东西,感谢楼主分享
2014-12-21 19:18
0
雪    币: 7077
活跃值: (3603)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
3
支持开源
2014-12-21 19:22
0
雪    币: 8833
活跃值: (2419)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
4
此物很给力,用了几次,很有用~
2014-12-21 19:42
0
雪    币: 188
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
多谢楼主分享。
2014-12-21 19:49
0
游客
登录 | 注册 方可回帖
返回