次の方法で共有


追跡レコード

ワークフロー ランタイムは、ワークフロー インスタンスの実行状況を追跡する追跡レコードを出力するためにインストルメント化されています。

追跡レコード

次の表で、ワークフロー ランタイムが出力する追跡レコードの詳細を説明します。

追跡レコード 説明
ワークフロー ライフ サイクル レコード ワークフロー インスタンスのライフ サイクルの多様なステージ中に出力されます。 たとえば、ワークフローの開始時または完了時にレコードは出力されます。
アクティビティ ライフ サイクル レコード アクティビティの実行状況を詳しく記録します。 これらのレコードは、アクティビティをスケジュールしたとき、アクティビティが完了したとき、エラーが発生したときなど、ワークフロー アクティビティの状態を示します。
ブックマーク再開レコード ワークフロー インスタンス内のブックマークが再開されたときに出力されます。
カスタム追跡レコード ワークフロー作成者はカスタム追跡レコードを作成し、カスタム アクティビティ内で出力できます。

WF ランタイムから出力されるすべての追跡関連レコードは、基本クラス TrackingRecord から派生します。この基本クラスには一般的なデータのセットが含まれます。 追跡レコードは、単純なワークフローのライフ サイクルを示します。 各追跡レコードには、InstanceIdRecordNumber などの関連する追跡イベント、および追跡レコードの型に固有の追加情報の詳細が含まれます。

次の TrackingRecord オブジェクトの型は、ワークフロー ランタイムによって出力されます。

  • WorkflowInstanceRecord - この TrackingRecord は、ワークフロー インスタンスのライフ サイクルを示します。 たとえば、ワークフローの開始時または完了時にレコードが出力されます。また、レコードにはワークフロー インスタンスの状態が含まれます。 このレコードの詳細については、「WorkflowInstanceRecord」を参照してください。

  • WorkflowInstanceAbortedRecord - この TrackingRecord は、ワークフロー インスタンスの中止時に出力されます。 レコードにはワークフロー インスタンスが中止された理由が含まれます。 このレコードの詳細については、「WorkflowInstanceAbortedRecord」を参照してください。

  • WorkflowInstanceUnhandledExceptionRecord - この TrackingRecord は、例外がワークフロー インスタンスで発生し、どのアクティビティによっても処理されない場合に出力されます。 レコードには例外の詳細が含まれます。 このレコードの詳細については、「WorkflowInstanceUnhandledExceptionRecord」を参照してください。

  • WorkflowInstanceSuspendedRecord - この TrackingRecord は、ワークフロー インスタンスが一時停止されたときに出力されます。 レコードにはワークフロー インスタンスが一時停止された理由が含まれます。 このレコードの詳細については、「WorkflowInstanceSuspendedRecord」を参照してください。

  • WorkflowInstanceTerminatedRecord - この TrackingRecord は、ワークフロー インスタンスが終了したときに出力されます。 レコードにはワークフロー インスタンスが終了した理由が含まれます。 このレコードの詳細については、「WorkflowInstanceTerminatedRecord」を参照してください。

  • ActivityStateRecord - この TrackingRecord は、ワークフロー内のアクティビティが実行されたときに出力されます。 これらのレコードは、ワークフロー インスタンス内のアクティビティの状態を示します。 このレコードの詳細については、「ActivityStateRecord」を参照してください。

  • ActivityScheduledRecord - この TrackingRecord は、アクティビティが子のアクティビティをスケジュールするときに出力されます。 このレコードには、親のアクティビティ (スケジューリング アクティビティ) およびスケジュール設定された子アクティビティの両方の詳細が含まれます。 このレコードの詳細については、「ActivityScheduledRecord」を参照してください。

  • FaultPropagationRecord - この TrackingRecord は、レコードを確認するハンドラーごとに、それが処理されるまで出力されます。 これは、エラーがワークフロー インスタンス内でたどるパスを示すために使用されます。 このレコードの詳細については、「FaultPropagationRecord」を参照してください。

  • CancelRequestedRecord - この TrackingRecord は、アクティビティが子のアクティビティを取り消そうとするときに出力されます。 このレコードには、親アクティビティおよび取り消される子アクティビティの両方の詳細が含まれます。 このレコードの詳細については、「CancelRequestedRecord」を参照してください。

  • BookmarkResumptionRecord - この TrackingRecord は、正常に再開されるすべてのブックマークを追跡します。 このレコードの詳細については、「BookmarkResumptionRecord」を参照してください。

  • CustomTrackingRecord - この TrackingRecord は、カスタム ワークフロー アクティビティ内のワークフロー作成者によって作成および出力されます。 カスタム追跡レコードには、レコードと一緒に出力されるデータを読み込むことができます。 このレコードの詳細については、「CustomTrackingRecord」を参照してください。

単純な Sequence アクティビティの例としては、追跡レコードを次の順序で出力する WriteLine 操作を含めることが考えられます。

  1. WorkflowInstanceRecord は、ワークフローが起動していることを示します。

  2. ActivityScheduledRecord は、アクティビティがスケジュールされたことを示します。 この場合は Sequence アクティビティです。

  3. ActivityScheduledRecord は、WriteLine アクティビティを表します。

  4. 2 つのアクティビティが完了していることを示す 2 つの ActivityStateRecord レコードがあります。

  5. WorkflowInstanceRecord は、ワークフローが完了していることを示します。

関連項目