質問
私の同僚は、に関連するCLR 4.0にいくつかの大きな改善があると述べました Windowsのイベントトレース しかし、私はまさに新しいものの詳細を見つけることができませんでした。改善についてのみ言及しているが、正確に何が新しいかについて詳細を提供しないブログ投稿はほとんどありません。誰かがそれについてもっと洞察を持っていますか?
解決
これがCLR 4.0のETWイベントのリストです
- ランタイム情報ETWイベント
- 例外thrown_v1 etwイベント
- 競合ETWイベント
- スレッドプールETWイベント
- ローダーETWイベント
- メソッドETWイベント
- ガベージコレクションETWイベント
- JITトレースETWイベント
- Interop ETWイベントアプリケーション
- ドメインリソース監視(ARM)ETWイベント
- セキュリティETWイベント
- Stack ETWイベント
これらの詳細な説明については、で読むことができます MSDN
また、XperfはETWで管理されたスタックをデコードできないため、BCLチームはCodePlexと呼ばれる別のツールをリリースしました Perfmonitor 使用できます。
Hth
他のヒント
- アプリケーションドメインリソース監視は、Windows用のマネージドおよびネイティブホスティングAPIおよびイベントトレース(ETW)を通じて利用できます。
- これで、診断目的でETWイベントにアクセスしてパフォーマンスを向上させることができます。
http://msdn.microsoft.com/en-us/library/ms171868.aspx#core_new_features_and_improvements
上記のリンクのいくつかで掘られた場合におそらく見つけることができる2つの改善は新しいものです eventProviderTraceListener クラスと新しい EventProvider クラス。
EventProviderTraceListenerは、TracesSources(他のTraceListenerと同様)を聴き、TracesSourceメッセージをETWシステムにルーティングできます。
EventProviderクラスを使用すると、メッセージをETWシステムに直接ログに記録できます。
これらのクラスはVista以上でのみ利用可能です(実際、使用しているOSのレベルで.NETフレームワーク4.0で「利用可能」ですが、XP以降は動作しません)。
これらのクラスのどちらも使用していません(ETWも使用していません)が、.NETアプリケーションからETWを使いやすくするように見えます。 ETWを使用したい場合は、ETW自体を構成するために、まだいくつかの作業があります。
以下は、ETWの使用方法を説明する記事です。 ETWに関する現在の情報がもっとあるかどうかはわかりません。この記事は、新しい.NET ETWクラスが利用可能になる前に書かれたことに注意してください。