ETWTracing サンプルでは、Windows Communication Foundation (WCF) の分析トレースを使用して、Windows イベント トレーシング (ETW) でイベントを生成する方法を示します。 分析トレースは、運用環境での WCF サービスのトラブルシューティングを可能にする WCF スタックの重要なポイントで生成されるイベントです。
WCF サービスの分析トレースは、パフォーマンスへの影響を最小限に抑えながら運用環境で有効にできるトレースです。 これらのトレースは、ETW セッションにイベントとして出力されます。
このサンプルには、イベント ビューアーを使用して表示できるイベント がサービスからイベント ログに出力される基本的な WCF サービスが含まれています。 WCF サービスからのイベントをリッスンする専用の ETW セッションを開始することもできます。 このサンプルには、イベント ビューアーを使用して読み取ることができるバイナリ ファイルにイベントを格納する専用の ETW セッションを作成するスクリプトが含まれています。
このサンプルを使用するには
Visual Studio を使用して、EtwAnalyticTraceSample.sln ソリューション ファイルを開きます。
ソリューションをビルドするには、Ctrl++キーを押します。
ソリューションを実行するには、+F5 キーを押します。
Web ブラウザーで、[ Calculator.svc] をクリックします。 サービスの WSDL ドキュメントの URI がブラウザーに表示されます。 その URI をコピーします。
既定では、サービスはポート 1378
http://localhost:1378/Calculator.svc
で要求のリッスンを開始します。WCF テスト クライアント (WcfTestClient.exe) を実行します。
WCF テスト クライアント (WcfTestClient.exe) は、
\<Visual Studio Install Dir>\Common7\IDE\WcfTestClient.exe
にあります。WCF テスト クライアント内で、[ ファイル] を選択してサービスを追加し、[ サービスの追加] を選択します。
入力ボックスにエンドポイント アドレスを追加します。 既定値は
http://localhost:1378/Calculator.svc
です。イベント ビューアー アプリケーションを開きます。
サービスを呼び出す前に、イベント ビューアーを起動し、イベント ログが WCF サービスから出力されたイベントの追跡をリッスンしていることを確認します。
[スタート] メニューの [管理ツール] を選択し、[イベント ビューアー] を選択します。 分析ログとデバッグ ログを有効にします。
イベント ビューアーのツリー ビューで、 イベント ビューアー、 アプリケーションとサービス ログ、 Microsoft、 Windows、Application Server-Applications の順に移動します。 [Application Server-Applications] を右クリックし、[表示] を選択し、[分析ログとデバッグ ログの表示] を選択します。
[ 分析ログとデバッグ ログの表示 ] オプションがオンになっていることを確認します。
分析ログを有効にします。
イベント ビューアーのツリー ビューで、 イベント ビューアー、 アプリケーションとサービス ログ、 Microsoft、 Windows、Application Server-Applications の順に移動します。 [分析] を右クリックし、 [ログの有効化] を選択します。
サービスをテストするには
WCF テスト クライアントに戻り、
Divide
ダブルクリックし、分母 0 を指定する既定値をそのまま使用します。分母が 0 の場合、サービスはエラーをスローします。
サービスから生成されたイベントを確認します。
イベント ビューアーに戻り、 イベント ビューアー、 アプリケーションとサービス ログ、 Microsoft、 Windows、Application Server-Applications に移動します。 [分析] を右クリックし、[最新の情報に更新] を選択します。
WCF 分析トレース イベントがイベント ビューアーに表示されます。 サービスによってエラーがスローされたため、エラー トレース イベントがイベント ビューアーに表示されます。
手順 1 と 2 を繰り返しますが、有効な入力を使用します。
N2
パラメーターの値には、0 以外の任意の数値を指定できます。分析チャネルを更新して、WCF イベントにエラー イベントが含まれていないことを確認します。
このサンプルでは、WCF サービスから出力される分析トレース イベントを示します。
クリーンアップするには (省略可能)
イベント ビューアーを開きます。
イベント ビューアー、アプリケーションとサービス ログ、Microsoft、Windows、Application-Server-Applications の順に移動します。 [分析] を右クリックし、[ログの無効化] を選択します。
イベント ビューアー、アプリケーションとサービス ログ、Microsoft、Windows、Application-Server-Applications の順に移動します。 [分析] を右クリックし、[ログのクリア] を選択します。
[ クリア ] オプションを選択してイベントをクリアします。