分析トレースの動的な有効化

Windows オペレーティング システムに付属のツールでは、ETW (Event Tracing for Windows) を使用して、トレースを動的に有効化または無効化できます。 .NET Framework 4.6.1 のすべての Windows Communication Foundation (WCF) サービスについて、アプリケーションの Web.config ファイルを変更したり、サービスを再起動したりせずに、分析トレースを動的に有効および無効にすることができます。 このため、トレース イベントを生成するアプリケーションに影響が生じません。

WCF のトレース オプションも同様に構成できます。 たとえば、アプリケーションに影響を与えずに、重大度レベルを Error から Information に変更できます。 これは、次のツールで実行できます。

  • Logman : トレース データを構成、制御、および照会するためのコマンド ライン ツールです。 詳細については、「logman create trace」および「logman update trace」を参照してください。

  • EventViewer : トレース結果を表示するための、Windows のグラフィカル管理ツールです。 詳細については、「WCF サービスと Event Tracing for Windows」および「Event Viewer」を参照してください。

  • Perfmon : カウンターを使用して、トレース カウンターおよびパフォーマンス トレースの効果を監視する、Windows のグラフィカル管理ツールです。 詳細については、「Create a Data Collector Set Manually」を参照してください。

キーワード

Diagnostics クラスを使用するときには、通常、.NET Framework トレース メッセージが重大度レベル (エラー、警告、情報など) でフィルターされます。 ETW は、重大度レベルの概念をサポートしますが、キーワードを使用して、新しい柔軟なフィルター機構も追加されています。 キーワードは任意のテキスト値で、これによって、トレース イベントでそのイベントの意味に関する追加のコンテキストが提供されます。

WCF の分析トレースでは、各トレース イベントに 2 種類のキーワードがあります。 まず、各イベントには 1 つ以上のシナリオ キーワードがあります。 これらのキーワードは、そのイベントがサポートするシナリオを示します。 次の表に示すように、特定の目的に対応する 3 つのシナリオ キーワードがあります。 キーワードを使用したフィルター処理は、WCF サービスに影響を与えずに動的に変更できます。 このため、現在のトレース シナリオおよび収集するトレース情報の量を動的に変更できます。 たとえば、 HealthMonitoringTroubleshooting に変更し、トレース イベントの詳細度を上げることができます。

キーワード 説明
HealthMonitoring サービスのアクティビティを監視できる、軽量の、最小限のトレース。
EndToEndMonitoring メッセージ フロー トレースのサポートに使用するイベント。
Troubleshooting WCF の拡張ポイントに関連するより詳細なイベント。

キーワードの 2 番目のグループは、.NET Framework のどのコンポーネントがイベントを生成するかを定義します。

キーワード 説明
UserEvents .NET Framework ではなく、ユーザー コードが生成するイベント。
ServiceModel WCF ランタイムが生成するイベント。
ServiceHost サービス ホストが生成するイベント。
WCFMessageLogging WCF メッセージ ログ イベント。

関連項目