ワークフロー追跡とトレース

このトピックの内容は、Windows Workflow Foundation 4 に該当します。

Windows ワークフロー追跡は、ワークフローの実行を確認できるように設計された .NET Framework Version 4 の機能です。また、ワークフロー インスタンスの実行を追跡できる追跡インフラストラクチャが用意されています。WF 追跡インフラストラクチャはワークフローを透過的にインストルメント化し、実行中の主要イベントを反映してレコードを出力します。この機能はすべての .NET Framework 4 ワークフローから既定で使用できます。.NET Framework Version 4 ワークフローで追跡を実行するために変更は必要ありません。必要なのは、受信する追跡データの量を決定することのみです。ワークフロー インスタンスが開始または完了すると、追跡レコードの処理が出力されます。また、追跡によって、ワークフロー変数に関連付けられたビジネス関連データを抽出することもできます。たとえば、ワークフローが注文処理システムを表している場合、注文 ID と共に TrackingRecord オブジェクトを抽出できます。一般的に、WF 追跡機能を有効にすると、ワークフローの実行から診断またはビジネス分析データにアクセスしやすくなります。

これらの追跡コンポーネントは、.NET Framework 3.0 の追跡サービスと同等です。.NET Framework 4 では、WF 追跡機能のパフォーマンスが改善され、プログラミング モデルが簡略化されました。追跡ランタイムがワークフロー インスタンスをインストルメント化し、ワークフローのライフ サイクル、ワークフロー アクティビティ、およびカスタム イベント関連のイベントを出力します。

ワークフロー ランタイムの問題を解決するには、診断ワークフロー追跡を有効にします。詳細については、次のトピックを参照してください。 ワークフロー トレース.

プログラミング モデルを理解するには、追跡インフラストラクチャの主要コンポーネントに関するトピックの説明を参照してください。

  • TrackingRecord オブジェクトは、ワークフロー ランタイムから取得します。詳細については、次のトピックを参照してください。 追跡レコード.

  • TrackingParticipant オブジェクトは TrackingRecord オブジェクトにサブスクライブします。追跡参加要素には、TrackingRecord オブジェクトのペイロードを処理するロジックがありません (たとえば、ファイルに書き込むことができるなど)。詳細については、次のトピックを参照してください。 追跡参加要素.

  • TrackingProfile オブジェクトは、ワークフロー インスタンスから出力された追跡レコードをフィルター処理します。詳細については、次のトピックを参照してください。 追跡プロファイル.

ワークフロー追跡インフラストラクチャ

ワークフロー追跡インフラストラクチャは、パブリッシュおよびサブスクライブのパラダイムに従っています。ワークフロー インスタンスは追跡レコードのパブリッシャーですが、追跡レコードのサブスクライバーはワークフローに対する拡張として登録されます。TrackingRecord オブジェクトにサブスクライブするこれらの拡張は、追跡参加要素と呼ばれます。追跡参加要素は、TrackingRecord オブジェクトにアクセスし、そのための書き込み方法にかかわらず処理する機能拡張ポイントです。追跡インフラストラクチャを使用すると、送信の追跡レコードにフィルターを適用して、参加要素からレコードのサブセットにサブスクライブできるようになります。このフィルター機構は追跡プロファイル ファイルによって実現します。

追跡インフラストラクチャの概要図を次に示します。

ワークフロー追跡のインフラストラクチャ

このセクションの内容

  • 追跡レコード
    ワークフロー ランタイムが出力する追跡レコードについて説明します。
  • 追跡参加要素
    システム標準の追跡参加要素を使用する方法またはカスタムの追跡参加要素を作成する方法について説明します。
  • 追跡参加要素
    ワークフローの追跡を構成する方法について説明します。