추적 레코드
워크플로 런타임을 계측하여 워크플로 인스턴스 실행을 추적하는 추적 레코드를 내보냅니다.
추적 레코드
다음 표에서는 워크플로 런타임에서 내보내는 추적 레코드에 대해 자세히 설명합니다.
추적 레코드 | 설명 |
---|---|
워크플로 수명 주기 레코드 | 워크플로 인스턴스 수명 주기의 다양한 단계에서 내보냅니다. 예를 들어 워크플로가 시작되거나 완료되면 레코드를 내보냅니다. |
활동 수명 주기 레코드 | 활동 실행에 대해 자세히 설명합니다. 이러한 레코드는 활동이 예약된 시점, 활동이 완료된 시점, 오류가 발생한 시점 등과 같은 워크플로 활동 상태를 나타냅니다. |
책갈피 다시 시작 레코드 | 워크플로 인스턴스 내의 책갈피를 다시 시작할 때마다 내보냅니다. |
사용자 지정 추적 레코드 | 워크플로 작성자가 사용자 지정 추적 레코드를 만들어 사용자 지정 활동 중에 내보낼 수 있습니다. |
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를 참조하세요.
예를 들어 추적 레코드를 다음 순서로 내보내는 Sequence 작업을 포함하는 간단한 WriteLine 활동이 있습니다.
WorkflowInstanceRecord는 워크플로가 시작되었음을 나타냅니다.
ActivityScheduledRecord는 활동이 예약되어 있음을 나타냅니다. 이 경우 Sequence 활동입니다.
ActivityScheduledRecord는 WriteLine 활동을 나타냅니다.
두 가지 활동의 완료를 나타내는 두 ActivityStateRecord 레코드가 있습니다.
WorkflowInstanceRecord는 워크플로가 완료되었음을 나타냅니다.
참고 항목
.NET