2013-01-19 6 views
14

EventSourceを使用してETWイベントを発生させ、Windowsパフォーマンスアナライザで表示したいと考えています。Windowsパフォーマンスアナライザを使用してEventSourceによって作成されたETWイベントをどのように表示しますか?

私は基本的なEventSourceを持っている:私はWindowsパフォーマンスレコーダー(WPR)で録音する場合

[EventSource(Name = "BasicEventSource")] 
public class ETWLogger : EventSource 
{ 
#if DEBUG 
    private const bool ThrowOnError = true; 
#else 
    private const bool ThrowOnError = false; 
#endif 

    private ETWLogger(bool throwOnError) : base(throwOnError) { } 

    private static ETWLogger _log; 
    public static ETWLogger Log 
    { get { return _log ?? (_log = new ETWLogger(ThrowOnError)); } } 

    private static class Keywords 
    { 
     public const EventKeywords Perf = (EventKeywords) 1; 
    } 

    [Event(1, Keywords = Keywords.Perf, Level = EventLevel.Informational)] 
    public void Startup() { WriteEvent(1, "StartUp"); } 
} 

、私は私のプロバイダまたはWindowsパフォーマンス・アナライザ(WPA)の一般的なイベントグラフ内のイベントが表示されません。お時間を

感謝:)

+0

セッションをどのように開始しましたか?これは我々が使ってきた1つのアプローチです - http://svcperf.codeplex.com/wikipage?title=Realtime%2bWCF%2bSession&referringTitle=FAQs – Sajay

答えて

1

WPRはあなたのカスタムEventSourceについて何も知らないので、録音プロファイルを作成して有効にする必要があります。 WPTには、始めるのに役立ついくつかのサンプルプロファイルが付属しています。

8.1バージョンのWPRでは、PerfViewと同じ命名規則がサポートされています。つまり、プロファイル内のGUIDの代わりに*YourEventSourceを使用できます。

私の経験では、EventSourceの機能の一部は、WPAの8.1バージョンではうまくサポートされていません。例えば。タスクを使用すると正しく表示されません。ただし、EventSourceの録画プロファイルを作成すると、基本的な使用方法は、EventSourceとWPA/WPRの8.1バージョンでうまくいきます。

また、PerfViewを使用してトレースを収集し、WPAで分析することもできます(PerfViewよりも好きな場合)。

+0

私はプロファイルを作成し、WPRを使用してイベントを記録しています。 PerfViewで.etlファイルを開いたときに見えるものがあります。しかし、WPAで.etlファイルを開くと、イベント名の代わりにイベントソース名と数字のguidinsteadが表示されます。それは期待されていますか? – JonDrnek

1

このdemo tutorialをチェックしてください。また別のデモはhere、00:38:39から始まります。

1

WPRとWPAはEventSourceをサポートしませんでしたが、新しい8.1 ADKを使用しました。 hereを参照してください。

+0

VanceはPerfView(http://sdrv.ms/QnHpd4)のカスタムバージョンをリリースしました。 EventSourceイベントを収集し、WPAで見ることができます。私は最近リリースされたPerfViewの1.5バージョンもこれをサポートしていると思われる。 http://blogs.msdn.com/b/vancem/archive/2013/12/09/perfview-version-1-5-has-been-released.aspx –

関連する問題