2009-06-17 49 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它能爲我做些什麼。

相關問題