Compartilhar via


Controlando registros

O runtime do fluxo de trabalho é configurado para gerar registros de rastreamento para monitorar a execução de uma instância do fluxo de trabalho.

Controlando registros

A tabela a seguir detalha os registros de rastreamento que o tempo de execução do fluxo de trabalho emite.

Registro de rastreamento 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.
Registros 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 ressunção do indexador Emitido sempre que um marcador dentro de uma instância de fluxo de trabalho é retomado.
Registros de acompanhamento personalizados Um autor de fluxo de trabalho pode criar registros de acompanhamento personalizados e emitê-los dentro de uma atividade personalizada.

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

Os seguintes tipos de TrackingRecord objetos são emitidos pelo runtime do fluxo de 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 desse registro podem ser encontrados em WorkflowInstanceRecord.

  • WorkflowInstanceAbortedRecord – Ela é emitida quando uma instância de fluxo de trabalho é interrompida. O registro contém o motivo da interrupção da instância de fluxo de trabalho. Os detalhes desse registro podem ser encontrados em WorkflowInstanceAbortedRecord.

  • WorkflowInstanceUnhandledExceptionRecord – isso TrackingRecord é emitido se ocorrer uma exceção na instância do fluxo de trabalho e não for tratada por nenhuma atividade. O registro contém os detalhes da exceção. Os detalhes desse registro podem ser encontrados em WorkflowInstanceUnhandledExceptionRecord.

  • WorkflowInstanceSuspendedRecord – isso 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 desse registro podem ser encontrados em WorkflowInstanceSuspendedRecord.

  • WorkflowInstanceTerminatedRecord - Isso TrackingRecord é emitido sempre que uma instância de fluxo de trabalho é encerrada. O registro contém o motivo para a instância de fluxo de trabalho ser encerrada. Os detalhes desse registro podem ser encontrados em WorkflowInstanceTerminatedRecord.

  • ActivityStateRecord - Isso TrackingRecord é emitido quando uma atividade dentro de um fluxo de trabalho é executada. Esses registros indicam o estado da atividade dentro da instância do fluxo de trabalho. Os detalhes desse registro podem ser encontrados em ActivityStateRecord.

  • ActivityScheduledRecord - Este TrackingRecord é emitido quando uma atividade agenda uma atividade filha. Esse registro contém detalhes para atividades pai (atividade de programação) e a atividade filho agendada. Os detalhes desse registro podem ser encontrados em ActivityScheduledRecord.

  • FaultPropagationRecord - Este TrackingRecord é emitido para cada manipulador que examina o registro até que seja manipulado. Ele é usado para indicar o caminho que uma falha tomou dentro da instância do fluxo de trabalho. Os detalhes desse registro podem ser encontrados em FaultPropagationRecord.

  • CancelRequestedRecord - Este TrackingRecord é emitido sempre que uma atividade tenta cancelar uma atividade filha. Esse registro contém detalhes para atividades a atividade pai e filho que está sendo cancelada. Os detalhes desse registro podem ser encontrados em CancelRequestedRecord.

  • BookmarkResumptionRecord - Este TrackingRecord rastreia qualquer favorito que seja retomado com sucesso. Os detalhes desse registro podem ser encontrados em BookmarkResumptionRecord.

  • CustomTrackingRecord - Este registro TrackingRecord é criado e emitido por um autor de fluxo de trabalho dentro de uma atividade de fluxo de trabalho personalizada. Registros de acompanhamento personalizados podem ser preenchidos com dados a serem emitidos junto com os registros. Os detalhes desse registro podem ser encontrados em CustomTrackingRecord.

Por exemplo, pode haver uma atividade simples de Sequence que contém uma operação de WriteLine com os registros de rastreamento emissores na seguinte ordem:

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

  2. ActivityScheduledRecord indica que uma atividade foi agendada. Nesse caso é uma atividade de Sequence .

  3. ActivityScheduledRecord representa a WriteLine atividade.

  4. Há dois ActivityStateRecord registros que representam as duas atividades que foram concluídas.

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

Consulte também