このサンプルでは、Windows Communication Foundation (WCF) の分析トレースを使用して、Event Tracing for Windows (ETW) でイベントを出力する方法を示します。分析トレースは、WCF スタック内のキー ポイントで出力されるイベントです。これにより、運用環境での WCF サービスのトラブルシューティングが可能になります。
WCF サービスの分析トレースは、有効にしてもパフォーマンスに最小限の影響しか及ぼさないため、運用環境で使用することができます。これらのトレースは、ETW セッションにイベントとして出力されます。
このサンプルには、サービスのイベントをイベント ログに出力する基本的な WCF サービスが含まれています。イベント ログは、イベント ビューアーを使用して表示できます。また、WCF サービスのイベントをリッスンする専用の ETW セッションを開始することもできます。サンプルには、バイナリ ファイルにイベントを格納する専用の ETW セッションを作成するためのスクリプトが含まれています。このバイナリ ファイルもイベント ビューアーを使用して読み取ることができます。
このサンプルを使用するには
Visual Studio 2010 を使用して、EtwAnalyticTraceSample.sln ソリューション ファイルを開きます。
ソリューションをビルドするには、F6 キーを押します。
ソリューションを実行するには、Ctrl キーを押しながら F5 キーを押します。
Web ブラウザーで、[Calculator.svc] をクリックします。サービスの WSDL ドキュメントの URI がブラウザーに表示されます。その URI をコピーします。
既定では、ポート 1378 (https://localhost:1378/Calculator.svc) で要求のリッスンが開始されます。
WCF テスト クライアント (WcfTestClient.exe) を実行します。
WCF テスト クライアント (WcfTestClient.exe) は <Visual Studio 2010 のインストール ディレクトリ>\Common7\IDE\WcfTestClient.exe にあります (Visual Studio 2010 の既定のインストール ディレクトリは C:\Program Files\Microsoft Visual Studio 10.0 です)。
WCF テスト クライアントで、[ファイル] メニューの [サービスの追加] をクリックしてサービスを追加します。
入力ボックスにエンドポイントのアドレスを追加します。既定値は https://localhost:1378/Calculator.svc です。
イベント ビューアー アプリケーションを開きます。
サービスを呼び出す前に、イベント ビューアーを起動し、WCF サービスから生成された追跡イベントをイベント ログでリッスンしていることを確認します。
[スタート] メニューから、[管理ツール]、[イベント ビューアー] の順に選択します。[分析] ログと [デバッグ] ログを有効にします。
イベント ビューアーのツリー ビューで、[イベント ビューアー]、[アプリケーションとサービス ログ]、[Microsoft]、[Windows] の順に選択して [アプリケーション サーバー - アプリケーション] に移動します。[アプリケーション サーバー - アプリケーション] を右クリックし、[表示]、[分析およびデバッグ ログの表示] の順にクリックします。
[分析およびデバッグ ログの表示] オプションがオンになっていることを確認します。
[分析] ログを有効にします。
イベント ビューアーのツリー ビューで、[イベント ビューアー]、[アプリケーションとサービス ログ]、[Microsoft]、[Windows] の順に選択して [アプリケーション サーバー - アプリケーション] に移動します。[分析] を右クリックし、[ログを有効にする] を選択します。
サービスをテストするには
WCF テスト クライアントに戻り、[
Divide
] をダブルクリックします。既定値のまま、分母を 0 にしておきます。分母が 0 の場合、サービスからエラーがスローされます。
サービスから出力されたイベントを確認します。
イベント ビューアーに戻り、[イベント ビューアー]、[アプリケーションとサービス ログ]、[Microsoft]、[WCF] の順に選択して、[WF-Development] に移動します。[分析] を右クリックし、[更新] を選択します。
WCF 分析トレースのイベントがイベント ビューアーに表示されます。サービスからエラーがスローされたため、イベント ビューアーにエラー トレース イベントが表示されていることに注意してください。
手順 1. と 2. を繰り返します。ただし、今度は有効な入力値を指定します。
N2
パラメーターの値は、0 以外であれば任意の数字でかまいません。分析チャネルを更新して、WCF イベントにエラー イベントが含まれていないことを確認します。
このサンプルでは、WCF サービスから出力される分析トレース イベントを示します。
クリーンアップするには (省略可能)
イベント ビューアーを開きます。
[イベント ビューアー]、[アプリケーションとサービス ログ]、[Microsoft]、[Windows] の順に選択して [アプリケーション サーバー - アプリケーション] に移動します。[分析] を右クリックし、[ログの無効化] を選択します。
[イベント ビューアー]、[アプリケーションとサービス ログ]、[Microsoft]、[Windows] の順に選択して [アプリケーション サーバー - アプリケーション] に移動します。[分析] を右クリックし、[ログのクリア] を選択します。
[クリア] オプションを選択してイベントをクリアします。
![]() |
---|
サンプルは、既にコンピューターにインストールされている場合があります。続行する前に、次の (既定の) ディレクトリを確認してください。
<InstallDrive>:\WF_WCF_Samples
このディレクトリが存在しない場合は、「.NET Framework 4 向けの Windows Communication Foundation (WCF) および Windows Workflow Foundation (WF) のサンプル」にアクセスして、Windows Communication Foundation (WCF) および WF のサンプルをすべてダウンロードしてください。このサンプルは、次のディレクトリに格納されます。
<InstallDrive>:\WF_WCF_Samples\WCF\Basic\Management\ETWTracing
|