C#/ .NET探查器应具备哪些功能?

Pro*_*mit 33 .net c# performance profiler

这可能是一个边缘广告,更不用说主观,但问题是诚实的.在过去的两个月里,我一直在为.NET开发一个名为SlimTune Profiler的新开源分析器(http://code.google.com/p/slimtune/).

这是一项相对较新的努力,但当我查看可用的分析仪系列时,我并没有给人留下深刻的印象.我已经完成了一些基于现有产品的初步工作,但我觉得这是一个很好的问题:你究竟想从一个探查器得到什么?

我来自实时图形和游戏,因此对我来说,剖析器尽可能快.否则,游戏变得无法播放,并且分析无法播放的慢速游戏往往不会很有启发性.因此,我愿意牺牲一些准确性.我甚至不关心异常.但我不熟悉其他类型应用程序的开发人员感兴趣的内容.是否有适合您的创建或中断功能?现有工具在哪里倒下?

再一次,我很抱歉,如果这只是StackOverflow的基础,但它对我来说一直是一个非常有用的资源,这里有很多开发人员.

Pre*_*gha 17

我的要求:

  • 收集统计数据而不会对应用程序产生影响 - 例如,不要填满内存,允许从所讨论的应用程序中收集数据
  • 能够简单且可重复地指定测量(数据驱动)
  • 自动化,这样我就可以在没有点击的情况下重复测量,也可以不使用UI
  • 使我们能够理解与WPF和其他声明性技术(如DLR或WF)相关的问题
  • 没有安装 - 没有gac,msi等,如果可以通过网络运行更好
  • 从一开始就支持64位
  • 不要试图了解可以做的所有分析 - 鼓励生态系统.如果可以使用其他工具分析原始统计数据那就更好了.
  • UI(如果有的话)应该是好的 - 但其重要的统计数据.所以不要花时间在那上面,让核心分析变得更好.
    • 支持简单地分析不像服务和Web应用程序那样的直接exe的应用程序.

会喜欢:

  • 考虑跨应用支持 - 大型应用通常需要了解跨多个可执行文件的应用性能行为.如果您的分析器允许轻松关联这些数据,那就更好了


Sam*_*ron 11

我的收藏:

  • 真的很容易使用 - 简单(但功能强大)的GUI
  • 卓越的性能 - 能够分析极其繁重的应用程序.
  • X64X32支持
  • 理解SQL,能够给我所有SQL调用的堆栈跟踪和持续时间,再加上SQL.
  • 易于分析,无需复杂,重新编译应用程序进程.
  • 易于分析的服务,网站和流程作为副作用启动
  • "生产模式",允许您从基于生产的系统收集关键统计数据.
    • "自动瓶颈查找程序":针对生产应用程序运行,并使用启发式方法确定哪些方法很慢.
  • 每个线程分析,告诉我哪些线程正在做所有的工作和在哪里.
  • 各种粒度的配置文件,允许执行"廉价"配置文件,只收集关键信息并深入细化分析.
  • 异常跟踪器,允许我跟踪我的应用程序中抛出的所有异常(关键统计信息和详细信息)
  • 每个线程分析 - 允许我在应用程序中分析单个线程