跟踪记录

工作流运行时被配置为生成跟踪记录,以监控工作流实例的执行。

跟踪记录

下表详细介绍了工作流运行时发出的跟踪记录。

跟踪记录 DESCRIPTION
工作流生命周期记录 在工作流实例生命周期的各个阶段发出。 例如,工作流启动或完成时会发出记录。
活动生命周期记录 详细说明活动执行情况。 这些记录指示工作流活动的状态,例如计划活动的时间、活动完成时间或发生错误时。
书签恢复记录 当工作流实例中的书签被恢复时,将发出信号。
自定义跟踪记录 工作流作者可以创建自定义跟踪记录,并在自定义活动中发出这些记录。

从 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. 存在两个 ActivityStateRecord 记录,表示正在完成两个活动。

  5. WorkflowInstanceRecord 指示工作流正在完成。

另请参阅