ワークフロー ランタイムは、ワークフロー インスタンスの実行に従って追跡レコードを出力するようにインストルメント化されます。
レコードの追跡
次の表は、ワークフロー ランタイムが出力する追跡レコードの詳細を示しています。
追跡レコード | 説明 |
---|---|
ワークフロー のライフ サイクル レコード | ワークフロー インスタンスのライフ サイクルのさまざまな段階で生成されます。 たとえば、ワークフローの開始時または完了時にレコードが出力されます。 |
アクティビティ のライフ サイクル レコード | アクティビティの実行の詳細。 これらのレコードは、アクティビティがスケジュールされたとき、アクティビティが完了したとき、エラーが発生したときなど、ワークフロー アクティビティの状態を示します。 |
ブックマーク再開レコード | ワークフロー インスタンス内のブックマークが再開されるたびに生成されます。 |
カスタム追跡レコード | ワークフロー作成者は、カスタム追跡レコードを作成し、カスタム アクティビティ内でそれらを出力できます。 |
WF ランタイムから出力されるすべての追跡関連レコードは、共通のデータ セットを含む基底クラスの TrackingRecordから派生します。 追跡レコードは、単純なワークフローのライフ サイクルを示します。 各追跡レコードには、 InstanceId、 RecordNumber、追跡レコードの種類に固有の追加情報など、関連する追跡イベントに関する詳細が含まれています。
ワークフロー ランタイムによって生成される 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を参照してください。
たとえば、次の順序で出力される追跡レコードを含むWriteLine操作を含む単純なSequence アクティビティが存在する可能性があります。
WorkflowInstanceRecord は、ワークフローが開始されていることを示します。
ActivityScheduledRecord は、アクティビティがスケジュールされたことを示します。 この場合は、 Sequence アクティビティです。
ActivityScheduledRecord は、 WriteLine アクティビティを表します。
完了する 2 つのアクティビティを表す 2 つの ActivityStateRecord レコードがあります。
WorkflowInstanceRecord は、ワークフローが完了していることを示します。
こちらも参照ください
.NET