Partilhar via


Registros de rastreamento

O ambiente de execução do fluxo de trabalho é instrumentado para emitir registos de rastreamento, permitindo acompanhar a execução de uma instância de fluxo de trabalho.

Registros de rastreamento

A tabela a seguir detalha os registos de acompanhamento que o runtime do fluxo de trabalho emite.

Registo de acompanhamento Descrição
Registros do ciclo de vida do fluxo de trabalho Emitido durante vários estágios do ciclo de vida da instância do fluxo de trabalho. Por exemplo, um registro é emitido quando o fluxo de trabalho é iniciado ou concluído.
Registos do ciclo de vida da atividade Detalha a execução da atividade. Esses registros indicam o estado de uma atividade de fluxo de trabalho, como quando uma atividade é agendada, quando a atividade é concluída ou quando ocorre uma falha.
Registros de retomada de favoritos Emitido sempre que um marcador dentro de uma instância de fluxo de trabalho é retomado.
Registros de rastreamento personalizados Um autor de fluxo de trabalho pode criar registros de rastreamento personalizados e emiti-los dentro de uma atividade personalizada.

Todos os registros relacionados ao rastreamento emitidos pelo tempo de execução do WF derivam da classe TrackingRecordbase , que contém o conjunto comum de dados. Os registros de rastreamento mostram o ciclo de vida de um fluxo de trabalho simples. Cada registro de rastreamento contém detalhes sobre o evento de rastreamento associado, como o InstanceId, RecordNumbere informações adicionais específicas para o tipo de registro de rastreamento.

Os seguintes tipos de objetos são emitidos pelo tempo de execução do fluxo de TrackingRecord trabalho:

  • WorkflowInstanceRecord - Descreve TrackingRecord o ciclo de vida da instância do fluxo de trabalho. Por exemplo, um registro é emitido quando o fluxo de trabalho é iniciado ou concluído e contém o estado da instância do fluxo de trabalho. Os detalhes deste registo podem ser consultados em WorkflowInstanceRecord.

  • WorkflowInstanceAbortedRecord - É TrackingRecord emitido quando uma instância de fluxo de trabalho é anulada. O registo contém o motivo para a instância do fluxo de trabalho ser abortada. Os detalhes deste registo podem ser consultados em WorkflowInstanceAbortedRecord.

  • WorkflowInstanceUnhandledExceptionRecord - É emitido se ocorrer uma exceção na instância do fluxo de trabalho e não for tratado por nenhuma atividade. O registro contém os detalhes da exceção. Os detalhes deste registo podem ser consultados em WorkflowInstanceUnhandledExceptionRecord.

  • WorkflowInstanceSuspendedRecord - Este TrackingRecord é emitido sempre que uma instância de fluxo de trabalho é suspensa. O registro contém o motivo da suspensão da instância do fluxo de trabalho. Os detalhes deste registo podem ser consultados em WorkflowInstanceSuspendedRecord.

  • WorkflowInstanceTerminatedRecord - É TrackingRecord emitido sempre que uma instância de fluxo de trabalho é encerrada. O registro contém o motivo para a instância do fluxo de trabalho ser encerrada. Os detalhes deste registo podem ser consultados em WorkflowInstanceTerminatedRecord.

  • ActivityStateRecord - Este registo é TrackingRecord emitido quando uma atividade dentro de um fluxo de trabalho é executada. Esses registros indicam o estado da atividade na instância do fluxo de trabalho. Os detalhes deste registo podem ser consultados em ActivityStateRecord.

  • ActivityScheduledRecord - É TrackingRecord emitido quando uma atividade agenda uma atividade infantil. Esse registro contém detalhes para a atividade pai (atividade de agendamento) e a atividade filho agendada. Os detalhes deste registo podem ser consultados em ActivityScheduledRecord.

  • FaultPropagationRecord - Isto é emitido para cada manipulador que examina o registo até que ele seja manipulado. Ele é usado para indicar o caminho que uma falha tomou dentro da instância do fluxo de trabalho. Os detalhes deste registo podem ser consultados em FaultPropagationRecord.

  • CancelRequestedRecord - É TrackingRecord emitido sempre que uma atividade tenta cancelar uma atividade infantil. Esse registro contém detalhes para a atividade pai e a atividade filho que está sendo cancelada. Os detalhes deste registo podem ser consultados em CancelRequestedRecord.

  • BookmarkResumptionRecord - Este TrackingRecord regista qualquer marcador que tenha sido retomado com êxito. Os detalhes deste registo podem ser consultados em BookmarkResumptionRecord.

  • CustomTrackingRecord - É TrackingRecord criado e emitido por um autor de fluxo de trabalho dentro de uma atividade de fluxo de trabalho personalizada. Os registros de rastreamento personalizados podem ser preenchidos com dados a serem emitidos junto com os registros. Os detalhes deste registo podem ser consultados em CustomTrackingRecord.

Por exemplo, pode haver uma atividade simples Sequence que contenha uma WriteLine operação com registos de rastreamento emitidos na ordem seguinte:

  1. WorkflowInstanceRecord indica que o fluxo de trabalho está sendo iniciado.

  2. ActivityScheduledRecord indica que uma atividade foi agendada. Neste caso, trata-se de uma Sequence atividade.

  3. ActivityScheduledRecord representa a WriteLine atividade.

  4. Há dois ActivityStateRecord registros que representam a conclusão das duas atividades.

  5. WorkflowInstanceRecord indica que o fluxo de trabalho está sendo concluído.

Ver também