Registros de seguimiento
El tiempo de ejecución del flujo de trabajo sirve para emitir los registros de seguimiento con el fin de seguir la ejecución de una instancia de flujo de trabajo.
Registros de seguimiento
En la siguiente tabla se detallan los registros de seguimiento que emite el tiempo de ejecución del flujo de trabajo.
Registro de seguimiento | Descripción |
---|---|
Registros de ciclo de vida del flujo de trabajo | Emitidos durante varias fases del ciclo de vida de la instancia de flujo de trabajo. Por ejemplo, se emite un registro cuando el flujo de trabajo se inicia o se completa. |
Registros de ciclo de vida de la actividad | Describe la ejecución de la actividad. Estos registros indican el estado de una actividad de flujo de trabajo como cuándo se programa una actividad, cuándo se completa o cuándo se produce un error. |
Registro de reanudación de marcadores. | Se emite siempre que se reanude un marcador en una instancia de flujo de trabajo. |
Registros de seguimiento personalizados | Un autor del flujo de trabajo puede crear registros de seguimiento personalizados y emitirlos en una actividad personalizada. |
Todos los registros relacionados con el seguimiento que se emitan a partir del tiempo de ejecución de WF derivan de la clase base TrackingRecord, que contiene el conjunto común de los datos. Los registros de seguimiento muestran el ciclo de vida de un flujo de trabajo simple. Cada registro de seguimiento contiene los detalles sobre el evento de seguimiento asociado, como las propiedades InstanceId, RecordNumber, además de la información adicional específica del tipo de registro de seguimiento.
El tiempo de ejecución del flujo de trabajo emite los siguientes tipos de objetos TrackingRecord:
WorkflowInstanceRecord: este objeto TrackingRecord describe el ciclo de vida de la instancia de flujo de trabajo. Por ejemplo, se emite un registro cuando el flujo de trabajo se inicia o se completa, y contiene el estado de la instancia de flujo de trabajo. Los detalles de este registro se pueden encontrar en WorkflowInstanceRecord.
WorkflowInstanceAbortedRecord: este objeto TrackingRecord se emite cuando una instancia de flujo de trabajo se anula. El registro contiene el motivo de la anulación de la instancia de flujo de trabajo. Los detalles de este registro se pueden encontrar en WorkflowInstanceAbortedRecord.
WorkflowInstanceUnhandledExceptionRecord: este objeto TrackingRecord se emite si se produce una excepción en la instancia de flujo de trabajo y no hay ninguna actividad que la administre. El registro contiene los detalles de la excepción. Los detalles de este registro se pueden encontrar en WorkflowInstanceUnhandledExceptionRecord.
WorkflowInstanceSuspendedRecord: este objeto TrackingRecord se emite siempre que se suspenda una instancia de flujo de trabajo. El registro contiene el motivo de la suspensión de la instancia de flujo de trabajo. Los detalles de este registro se pueden encontrar en WorkflowInstanceSuspendedRecord.
WorkflowInstanceTerminatedRecord: este objeto TrackingRecord se emite siempre que finaliza una instancia de flujo de trabajo. El registro contiene el motivo de la finalización de la instancia de flujo de trabajo. Los detalles de este registro se pueden encontrar en WorkflowInstanceTerminatedRecord.
ActivityStateRecord: este objeto TrackingRecord se emite cuando se ejecuta una actividad dentro de un flujo de trabajo. Estos registros indican el estado de la actividad dentro de la instancia de flujo de trabajo. Los detalles de este registro se pueden encontrar en ActivityStateRecord.
ActivityScheduledRecord: este objeto TrackingRecord se emite cuando una actividad programa una actividad secundaria. Este registro contiene los detalles para el actividad primaria (la actividad que se programa) y la actividad secundaria programada. Los detalles de este registro se pueden encontrar en ActivityScheduledRecord.
FaultPropagationRecord: este objeto TrackingRecord se emite para cada controlador que examine el registro hasta que se administre. Se utiliza para denotar la ruta de acceso que usó un error en la instancia de flujo de trabajo. Los detalles de este registro se pueden encontrar en FaultPropagationRecord.
CancelRequestedRecord: este objeto TrackingRecord se emite siempre que una actividad intenta cancelar una actividad secundaria. Este registro contiene los detalles para la actividad primaria (la actividad que se programa) y la actividad secundaria que se vaya a cancelar. Los detalles de este registro se pueden encontrar en CancelRequestedRecord.
BookmarkResumptionRecord: este objeto TrackingRecord realiza el seguimiento de cualquier marcador que se haya reanudado correctamente. Los detalles de este registro se pueden encontrar en BookmarkResumptionRecord.
CustomTrackingRecord: este objeto TrackingRecord lo crea y emite un autor de flujo de trabajo en una actividad de flujo de trabajo personalizada. Los registros de seguimiento personalizados se pueden rellenar con datos que se van a emitir junto con los registros. Los detalles de este registro se pueden encontrar en CustomTrackingRecord.
Por ejemplo, podría haber una actividad Sequence simple que contenga una operación WriteLine con registros de seguimiento emitidos en el siguiente orden:
WorkflowInstanceRecord indica que está comenzando el flujo de trabajo.
ActivityScheduledRecord indica que se ha programado una actividad. En este caso se trata de una actividad Sequence.
ActivityScheduledRecord representa la actividad WriteLine.
Hay dos registros ActivityStateRecord que representan las dos actividades que se están completando.
WorkflowInstanceRecord indica que el flujo de trabajo se está completando.