编辑: 我不是要求实现分析库的方法,我问的是否有一个(最好是免费的)。
尽管.NET平台上有很多商业和免费的分析器,但它们都会以一种方式分析(更好或更差)你的应用程序代码,让你看到哪种方法调用甚至是行占用了大量的资源。 / p>
虽然这在许多快速优化情况下可能有用,但我对更直接的“库”方法感兴趣。基本上我想到了一些让我用检查点定义场景的东西,这样我就可以在版本之间进行分析和比较任何两个给定的场景。
我希望能够定义如下内容:
Mon.StartScenario("ClientReportsTime");
// Get All clients
//...
Mon.CheckPoint(); // You should be able to see memory ussage
//and time taken to reach this point.
// Extract information
//..
Mon.CheckPoint();
// Finished!!
Mon.StopScenario("ClientReportsTime");
因此,场景具有可以精确识别的给定时间。这是一个相对简单的功能,当我认为它可能在某个地方时,我就要将它作为一个库来实现。你知道这样的现有图书馆吗?
答案 0 :(得分:1)
您可以查看自己应用的处理信息,也许可以从WMI记录更多信息。
不幸的是,它并没有让你继续下去:(
答案 1 :(得分:1)
使用性能计数器怎么样?当您为场景定义性能计数器时,这将起作用,然后使用可用的方法(例如Increment,IncrementBy等)来记录检查点。 有关详细信息,请参阅:http://msdn.microsoft.com/en-us/library/system.diagnostics.performancecounter(lightweight).aspx。
答案 2 :(得分:1)
如果您可以选择
可以为您提供精确的问题时间但只是不精确地找到它们的东西,或者
能让你精确定位问题的东西,但只是不精确地计算时间,