2009-06-17 60 views
3

我在一个非常大的应用程序中进行了一些调整。有没有办法测量应用程序中触发的事件数量?例如在System.Diagnostics中使用某些东西?测量的事件数量是多少?

由于应用程序的大小,在事件内添加代码并不是可接受的解决方案。

有分析工具,但对我来说,快速和简单的方法是在.net

回答

0

被发现的东西这是一个非常有趣的问题。

没有任何额外的代码,确实没有简单的方法来跟踪事件。这并不意味着添加代码必须很困难或者性能不佳。

如果您的所有事件都使用自定义eventArgs,则可以向构造函数添加一个简单的日志记录语句,以便每次创建自定义eventArgs时都可以进行计数。

如果您未使用自定义eventArgs,则可以非常容易地使用customEventArgs类来扩展eventArgs,该类完全执行此计数。只需扩展构造函数即可更新一些静态变量,您可以每隔一段时间写出一次日志。然后使用快速重构,您可以将所有默认eventArgs重命名为这个稍有不同的customEventArgs。这需要10分钟的时间,并且不会破坏任何现有的代码。

但是,如果你知道一个分析器可以做到这一点,为什么不使用它?如果应用程序是这样巨大的,并且您正在尝试进行非常小的优化,那么您正在构建此应用程序的任何人都可能不介意与购买许可证相关的额外成本,以换取其软件的改进。

+0

解决方案的大小(8 MB * .cs文件)使得使用自定义事件参数的方法太麻烦。 – ToPa 2009-06-23 05:33:02

+0

如果您正在使用任何IDE,您可以在创建customevent后轻松完成全部替换。它不应该超过10或15分钟。如果您已经在使用customevents,则只需添加一个新的专用字段即可进行计数。 – Mark 2009-06-23 14:14:53

0

你是在谈论Windows的'事件查看器'还是订阅你的类上的事件?

如果是后者,谁订阅了你的活动?也许你可以写一些'胶水'代码,事件和用户之间的网站数不胜数!

0

我得出的结论,试图表现measuremet工具来代替。由于没有简单的方法来做明智的测量代码。我会告诉ANTS它能为我做些什么。