Monitorando mapeamentos de eventos do banco de dados

Este tópico contém o mapeamento dos campos da tabela de preparo no banco de dados de monitoramento para as exibições de eventos de cada um dos tipos de eventos emitidos pelo tempo de execução do Windows Workflow Foundation (WF). Essa informação é necessária ao configurar um banco de dados de monitoramento que não seja SQL para usar com o Windows Server AppFabric. Ao usar o SQL Server, todas as exibições e a tabela de preparo são criadas pelo processo de configuração do AppFabric. No entanto, em uma implementação de banco de dados SQL, você precisará criar manualmente essas exibições e a tabela de preparo. Quando um evento ocorre em um serviço WCF ou WF gerenciado pelo AppFabric, o Serviço de Coleta de Eventos grava uma linha correspondente a esse evento na tabela ASStagingTable do banco de dados de monitoramento. Esses dados precisam ser mapeados para a exibição correspondente, para que possam ser exibidos usando o AppFabric Dashboard. Esse mapeamento pode ocorrer usando qualquer mecanismo escolhido para obter os dados da tabela de preparo e inseri-los nas tabelas que oferecem suporte às exibições de monitoramento. Por exemplo, você poderá usar um gatilho de banco de dados ou trabalho.

Este documento contém apenas alguns eventos e mapeamentos de exibições. Para obter um conjunto completo de eventos e seus mapeamentos associados, baixe os Mapeamentos de Eventos do Banco de Dados do AppFabric. Para obter mais informações sobre este processo de mapeamento, consulte Como: usar um banco de dados de monitoramento não pertencente ao SQL Server e Monitorando exibições e tabelas de banco de dados.

Correlação comum para todos os eventos

Tabela ASStagingTable

Cada evento preencherá os seguintes campos na tabela ASStagingTable.

Colunas da ASStagingTable Dados do Evento

EventTypeId

ID do evento emitido

E2EActivityId

ID da atividade integral emitida com este evento

Computador

Nome da máquina onde o evento é emitido

EventSource

Caminho virtual deste evento

ProcessId

ID do Processo

TraceLevelId

Nível de rastreamento do evento emitido

TimeCreated

Hora de criação deste evento

Modo de exibição ASEventSources

Praticamente todos os eventos preencherão o modo de exibição ASEventSources (a exceção é o evento ID 499).

Nome da coluna Fonte dos dados

ID

ID da origem do evento. Usado por outros modos de exibição para obter os detalhes da origem do evento.

Nome

Nome do serviço extraído da coluna EventSource na ASStagingTable

Computador

Correlacionado ao computador na ASStagingTable

Site

Nome do site extraído da coluna EventSource na ASStagingTable

VirtualPath

Nome do VirtualPath completo extraído da coluna EventSource na ASStagingTable

ApplicationVirtualPath

Nome do Caminho Virtual do Aplicativo, extraído da coluna EventSource na ASStagingTable

ServiceVirtualPath

Nome do Caminho Virtual do Serviço, extraído da coluna EventSource na ASStagingTable

Modo de exibição ASEvents

Praticamente todos os eventos preencherão o modo de exibição ASEvents (a exceção é o evento ID 499).

Nome da coluna Fonte dos dados

EventTypeId

EventTypeId correlacionado com ASStagingTable.EventTypeId

EventName

Nome do evento

EventVersion

Versão do evento. Atualmente 0.

EventSourceID

Correlacionado com o ID da origem do evento nos modos de exibição ASEventSources

ProcessId

Correlacionado com ASStagingTable.ProcessId

TraceLevelId

Correlacionado com ASStagingTable.TraceLevelID

TraceLevel

Representação em cadeia de caracteres de TraceLevelId

E2EActivityId

Correlacionado com ASStagingTable.E2EActivityId

TimeCreated

Correlacionado com ASStagingTable.TimeCreated

Eventos

Aqui estão algumas das correlações de eventos para implementar um banco de dados de monitoramento.

ID de Evento 100

Além das colunas comuns, o Serviço de Coleta de Eventos preenche as seguintes colunas na tabela ASStagingTable para o ID de Evento 100.

Dados do Evento Colunas da ASStagingTable

TypeName

Data1UniqueId

RecordNumber

Data1BigInt

ActivityRootId

Data3Str

Estado

Data2Str

Nome do perfil de acompanhamento

Data1Str

Anotações

CustomAnnotations

Os dados do evento 100 preenchem os seguintes modos de exibição: ASEventSources, ASWfEvents, ASEvents, ASWfTrackingProfiles, ASWfEventAnnotations. A correlação de dados de ASStagingTable com os modos de exibição comuns ASEventSources e ASEvents está especificada nas correlações comuns.

Modo de exibição: ASWfEventAnnotations

Este modo de exibição é atualizado com as anotações que são emitidas com os eventos de acompanhamento dos dos serviços WF.

Nome da coluna Dados preenchidos

Id

Identificador exclusivo desta linha de eventos

AnnotationSetId

Chave para encontrar o evento WF que emitiu a anotação

Nome

Nome da anotação, obtido em ASStagingTable.CustomAnnotations

Valor

Valor da anotação, obtido em ASStagingTable.CustomAnnotations

Extraindo o Nome e o Valor das Anotações de ASStagingTable.CustomAnnotations

As anotações são armazenadas da seguinte maneira. As anotações são emitidos com este evento. Os valores das anotações são armazenados neste formato.

 
< items >
< item  name = "annotationName" type="System.String">annotationValue</item>
</items > 

Se não houver anotações especificadas, então a cadeia de caracteres conterá >/items<. name e value são extraídos através do desmembramento do valor armazenado na coluna ASStagingTable.CustomAnnotations.

Modo de exibição ASWfTrackingProfiles

Nome da coluna Dados preenchidos

Id

ID exclusivo do perfil de acompanhamento

Nome

Correlacionado com ASStagingTable-> Coluna ASStagingTable.Data1Str

Modo de exibição ASWfEvents

Apenas as colunas preenchidas para este evento neste modo de exibição são especificadas. Todas as outras colunas têm o valor NULL. O valor especificamente preenchido pelo evento está especificado em negrito. Este modo de exibição é criado nos eventos de acompanhamento emitidos para instâncias do WF.

Nome da coluna Dados preenchidos

Id

ID exclusivo gerado

EventTypeId

100 (Correlacionado com: ASStagingTable-> Coluna EventTypeId)

EventType

“WorkflowInstanceRecord”

EventVersion

0

EventSourceId

ID do modo de exibição ASEventSources

ProcessId

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.ProcessId

WorkflowInstanceId

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.Data1UniqueId

TrackingProfileId

ID exclusivo do perfil de acompanhamento correlacionado com a coluna ID do modo de exibição ASWfTrackingProfiles. Tanto este como ASWfTrackingProfiles são atualizados em uma única transação.

E2EActivityId

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.E2EActivityId

TraceLevelId

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.TraceLevelId

TraceLevel

Depende de TraceLevelId: 0:”LogAlways”1:”Critical”2:”Error”3:”Warning”4:”Information”5:”Verbose”

RecordNumber

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.Data1BigInt

AnnotationSetId

ID exclusivo do Conjunto de Anotações correlacionado com a coluna AnnotationSetId no modo de exibição ASWfEventAnnotations. Tanto este como ASWfEventAnnotations são atualizados em uma única transação.

TimeCreated

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.TimeCreated

ActivityRootId

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.Data3Str

Estado

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.Data2Str

Modo de exibição: ASWfInstances

Este modo de exibição é atualizado com o estado da instância do WF ativo. Este modo de exibição é atualizado após o modo de exibição ASWfEvents, mas dentro da mesma transação. Quando um evento é adicionado ao modo de exibição ASWfEvents, esse modo de exibição precisa ser atualizado simultaneamente com os valores inseridos no modo de exibição ASWfEvents e, portanto, na mesma transação. Existe apenas uma linha por instância de fluxo de trabalho. A cada evento que adicionado à tabela WFEvents, a linha da instância de fluxo de trabalho é modificada. Uma linha é adicionada/atualizada nesta tabela somente sob certas condições. Se o estado = "Excluído" ou "Descarregado" (ASWfEvents.State) em um evento cujo ID é 100, uma linha não é adicionada à tabela.

Nome da coluna Dados preenchidos

Id

ID exclusivo desta entrada

WorkflowInstanceId

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.Data1UniqueId Adicionado uma única vez para uma instância exclusiva.

LastEventSourceId

O último eventSourceID que modificou esta linha. Correlacionado com ASWfEvents.EventSourceId.

LastEventStatus

Correlacionado com o modo de exibição ASWfEvents-> Coluna: ASWfEvents.State. Inserido/atualizado somente se o estado não for igual a "Excluído" ou "Descarregado". Se estado == "Excluído" ou "Descarregado", uma linha não será adicionada na tabela.

StartTime

Correlacionado com ASWfEvents-> Coluna: ASWfEvents.TimeCreated. Este é o TimeCreated do evento com o menor RecordNumber nesta instância de fluxo de trabalho.

LastModifiedTime

Correlacionado com ASWfEvents-> Coluna: ASWfEvents.TimeCreated. Atualizado quando estado é alterado. Observe também que, para atualizar esta coluna, recordNumber do WorkflowRecord é maior que o RecordNumber anterior que atualizou este valor. (Uma implementação possível é manter uma tabela temporária que correlaciona o ID de instância nesta tabela com o RecordNumber do Registro de Evento de Fluxo de Trabalho do ASWfEvents que o modificou. Quando um novo evento tenta atualizar esta linha nesta instância, verifique se o RecordNumber é maior que o RecordNumber modificado pela última vez.)

CurrentDuration

Duração do fluxo de trabalho em execução (LastModifiedTime – StartTime)

ExceptionCount

Número de exceções encontradas pelo WF. Não atualizado pelo evento ID 100.

LastAbortedTime

Não atualizado pelo evento ID 100

Para obter mais informações sobre este evento, consulte 100 - WorkflowInstanceRecord (https://go.microsoft.com/fwlink/?LinkId=187224).

ID de Evento 103

Além das colunas comuns, o Serviço de Coleta de Eventos preenche as seguintes colunas na tabela ASStagingTable para o ID de Evento 103.

Dados do Evento Colunas da ASStagingTable

workflowinstanceid

Data1UniqueId

RecordNumber

Data1BigInt

Nome do perfil de acompanhamento

Data1Str

Estado

Data2Str

ActivityName

Data3Str

ActivityId

Data4Str

ActivityInstanceId

Data5Str

ActivityTypeName

Data6Str

Anotações

CustomAnnotations

Variáveis

CustomProperties

Argumentos

CustomArguments

Os dados do evento 103 preenchem os seguintes modos de exibição: ASEventSources, ASWfEvents, ASEvents, ASWfTrackingProfiles, ASWfEventAnnotations, ASWfEventProperties, ASWfPropertyNames. A correlação dos dados de ASStagingTable com os modos de exibição comuns ASEventSources e ASEvents é especificada nas correlações comuns.

Modo de exibição: ASWfEventAnnotations

Este modo de exibição é atualizado com as anotações que são emitidas com os eventos de acompanhamento dos dos serviços WF.

Nome da coluna Dados preenchidos

Id

Identificador exclusivo desta linha de eventos

AnnotationSetId

Chave para encontrar o evento WF que emitiu a anotação

Nome

Nome da anotação, obtido em ASStagingTable.CustomAnnotations

Valor

Valor da anotação, obtido em ASStagingTable.CustomAnnotations

Extraindo o Nome e o Valor das Anotações de ASStagingTable.CustomAnnotations

As anotações são emitidos com este evento. Os valores das anotações são armazenados no seguinte formato. Se não houver anotações especificadas, então a cadeia de caracteres conterá </items>. O nome e o valor são extraídos através do desmembramento do valor armazenado na coluna ASStagingTable.CustomAnnotations.

 
< items >
< item  name = "annotationName" type="System.String">annotationValue</item>
</items > 

Modo de exibição: ASWfPropertyNames

Este modo de exibição é criado nos nomes de propriedades acompanhados que são extraídos dos serviços WF. O nome pode ser um nome de variável, um nome de argumento, ou um nome dentro de customtrackingrecord.

Nome da coluna Dados preenchidos

EventSourceId

Origem deste evento. Isso refere-se à ID na exibição EventSources.

Nome

Nome da propriedade acompanhada

Tipo

Tipo da propriedade acompanhada

Extraindo o Nome e o Tipo de ASStagingTable.CustomProperties ou ASStagingTable CustomArguments

As variáveis de fluxo de trabalho são armazenadas em ASStagingTable.CustomProperties. Para o evento 103, o formato das variáveis é o seguinte. Se não houver variáveis especificadas, então a cadeia de caracteres conterá </items>. Analise a cadeia de caracteres XML para obter o nome e tipo da variável.

< items >
< item  name = "variableName" type="System.String">variableValue</item>
</items > 

Os argumentos ficam armazenados em ASStagingTable.CustomArguments. Para o evento 103, o formato dos argumentos é o seguinte. Analise a cadeia de caracteres XML para obter o nome e tipo do argumento. Se não houver argumentos especificados, então a cadeia de caracteres conterá </items>.

< items >
< item  name = "argumentName" type="System.String">argumentValue</item>
</items > 

Modo de exibição: ASWfEventProperties

Este modo de exibição tem uma linha para cada variável/argumento/propriedade personalizado(a) extraído(a) do evento WF.

Nome da coluna Dados preenchidos

EventId

Se correlaciona com o ID de evento no modo de exibição ASWfEvents -> ASWfEvents.Id refere-se ao evento WF que emitiu esses dados.

Nome

Nome extraído da análise do XML de ASStagingTable.CustomArguments ou ASStagingTable.CustomProperties

WfDataSource

Origem da propriedade (argumento, variável ou dados personalizados). Se os dados forem preenchidos a partir de ASStagingTable.CustomArguments, o valor será "Argumento". Se os dados forem preenchidos a partir ASStagingTable.CustomProperties o valor será "Variável".

Tipo

Tipo da propriedade extraída do CustomArguments do xml CustomProperties

Valor

Valor da propriedade extraída de CustomArguments do xml CustomProperties quando o tipo for um tipo simples

ValueBlob

Valor da propriedade extraído de CustomArguments do xml CustomProperties caso o tipo seja um tipo complexo

TimeCreated

Carimbo de data/hora de quando esta propriedade foi emitida, correlacionado com ASWfEvents.TimeCreated

Modo de exibição ASWfTrackingProfiles

Nome da coluna Dados preenchidos

Id

ID exclusivo do perfil de acompanhamento

Nome

Correlacionado com ASStagingTable-> Coluna ASStagingTable.Data1Str

Modo de exibição ASWfEvents

Apenas as colunas preenchidas para este evento neste modo de exibição são especificadas. Todas as outras colunas têm o valor NULL. O valor especificamente preenchido pelo evento está especificado em negrito. Este modo de exibição é criado nos eventos de acompanhamento emitidos para instâncias do WF.

Nome da coluna Dados preenchidos

Id

ID exclusivo gerado

EventTypeId

103 (Correlacionado com: ASStagingTable-> Coluna EventTypeId)

EventType

“ActivityStateRecord”

EventVersion

0

EventSourceId

ID do modo de exibição ASEventSources

ProcessId

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.ProcessId

WorkflowInstanceId

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.Data1UniqueId

TrackingProfileId

ID exclusivo do perfil de acompanhamento correlacionado com a coluna ID do modo de exibição ASWfTrackingProfiles. Tanto este como ASWfTrackingProfiles são atualizados em uma única transação.

E2EActivityId

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.E2EActivityId

TraceLevelId

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.TraceLevelId

TraceLevel

Depende de TraceLevelId: 0:”LogAlways”1:”Critical”2:”Error”3:”Warning”4:”Information”5:”Verbose”

RecordNumber

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.Data1BigInt

AnnotationSetId

ID exclusivo do Conjunto de Anotações correlacionado com a coluna AnnotationSetId no modo de exibição ASWfEventAnnotations. Tanto este como ASWfEventAnnotations são atualizados em uma única transação.

TimeCreated

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.TimeCreated

ActivityName

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.Data3Str

ActivityId

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.Data4Str

ActivityInstanceId

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.Data5Str

ActivityTypeName

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.Data6Str

Estado

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.Data2Str

Modo de exibição: ASWfInstances

Este modo de exibição é atualizado com o estado da instância do WF ativo. Este modo de exibição é atualizado após o modo de exibição ASWfEvents, mas dentro da mesma transação. Quando um evento é adicionado ao modo de exibição ASWfEvents, esse modo de exibição precisa ser atualizado simultaneamente com os valores inseridos no modo de exibição ASWfEvents e, portanto, na mesma transação. Existe apenas uma linha por instância de fluxo de trabalho. A cada evento que adicionado à tabela WFEvents, a linha da instância de fluxo de trabalho é modificada.

Nome da coluna Dados preenchidos

Id

ID exclusivo desta entrada

WorkflowInstanceId

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.Data1UniqueId. Adicionado uma única vez para uma instância exclusiva.

LastEventSourceId

O último eventSourceID que modificou esta linha. Correlacionado com ASWfEvents.EventSourceId.

LastEventStatus

Correlacionado com o modo de exibição ASWfEvents-> Coluna: ASWfEvents.State. Inserido/atualizado somente se o estado não for igual a "Excluído" ou "Descarregado". Se estado == "Excluído" ou "Descarregado", uma linha não será adicionada a esta tabela. No caso do evento 101, o valor será "UnhandledException".

StartTime

Correlacionado com ASWfEvents-> Coluna: ASWfEvents.TimeCreated. Este é o TimeCreated do evento com o menor RecordNumber nesta instância de fluxo de trabalho representada por ASWfEvents.WorkflowInstanceId.

LastModifiedTime

Correlacionado com ASWfEvents-> Coluna: ASWfEvents.TimeCreated. Atualizado quando o estado mudar. Observe também que, para atualizar esta coluna, recordNumber do WorkflowRecord é maior que o RecordNumber anterior que atualizou este valor. (Uma implementação possível é manter uma tabela temporária que correlaciona o ID de instância nesta tabela com o RecordNumber do Registro de Evento de Fluxo de Trabalho do ASWfEvents que o modificou. Quando um novo evento tenta atualizar esta linha nesta instância, verifique se o RecordNumber é maior que o RecordNumber modificado pela última vez.)

CurrentDuration

Duração do fluxo de trabalho em execução (LastModifiedTime – StartTime)

ExceptionCount

Número de exceções encontradas pelo WF. Número de Eventos 101 encontrados por essa instância do WF, representado pela instância ID ASWfEvents. WorkflowInstanceId

LastAbortedTime

Último horário do modo de exibição ASWfEvents para o evento com ID 101 ou 102. Para a instância de fluxo de trabalho representada por ASWfEvents.WorkflowInstanceId.

Para obter mais informações sobre este evento, consulte 103 - ActivityStateRecord (https://go.microsoft.com/fwlink/?LinkId=187226).

ID de Evento 214

Além das colunas comuns, o Serviço de Coleta de Eventos preenche as seguintes colunas na tabela ASStagingTable para o ID de Evento 214.

Dados do Evento Colunas da ASStagingTable

MethodName

Data1Str

Duração

Data1Int

Os dados do evento 214 preenchem os seguintes modos de exibição: ASEventSources, ASWcfEvents, ASEvents. A correlação dos dados de ASStagingTable com os modos de exibição comuns ASEventSources e ASEvents é especificada nas correlações comuns.

Modo de exibição ASWcfEvents

Apenas as colunas preenchidas para este evento neste modo de exibição são especificadas. Todas as outras colunas têm o valor NULL. O valor especificamente preenchido pelo evento está especificado em negrito.

ColumnName Dados preenchidos

Id

ID exclusivo gerado

EventTypeId

214 (Correlacionado com: ASStagingTable-> Coluna EventTypeId)

EventType

OperationCompleted”

EventVersion

0

EventSourceId

ID no modo de exibição ASEventSources

ProcessId

Correlacionado com ASStagingTable-> Coluna: ProcessId

TraceLevelId

Correlacionado com ASStagingTable-> Coluna: TraceLevelId

TraceLevel

Depende de TraceLevelId: 0:”LogAlways”1:”Critical”2:”Error”3:”Warning”4:”Information”5:”Verbose”

E2EActivityId

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.E2EActivityId

TimeCreated

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.TimeCreated

OperationName

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.Data1Str

Duração

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.Data1Int

Para obter mais informações sobre este evento, consulte 214 - OperationCompleted (https://go.microsoft.com/fwlink/?LinkId=187225).

ID de Evento 219

Além das colunas comuns, o Serviço de Coleta de Eventos preenche as seguintes colunas na tabela ASStagingTable para o ID de Evento 214.

Dados do Evento Colunas da ASStagingTable

ExceptionTypeName

Data1Str

ExceptionToString

Data1MaxStr

Os dados do evento 219 preenchem os seguintes modos de exibição: ASEventSources, ASWcfEvents, ASEvents. A correlação dos dados de ASStagingTable com os modos de exibição comuns ASEventSources e ASEvents é especificada nas correlações comuns.

Modo de exibição ASWcfEvents

Apenas as colunas preenchidas para este evento neste modo de exibição são especificadas. Todas as outras colunas têm o valor NULL. O valor especificamente preenchido pelo evento está especificado em negrito.

ColumnName Dados preenchidos

Id

ID exclusivo gerado

EventTypeId

219 (Correlacionado com: ASStagingTable-> Coluna ASStagingTable .EventTypeId)

EventType

“ServiceException”

EventVersion

0

EventSourceId

ID do modo de exibição ASEventSources. Esta é o correlação do evento em ASWcfEvents com o modo de exibição ASEventSources.

ProcessId

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.ProcessId

TraceLevelId

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.TraceLevelId

TraceLevel

Depende de TraceLevelId: 0:”LogAlways”1:”Critical”2:”Error”3:”Warning”4:”Information”5:”Verbose”

E2EActivityId

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.E2EActivityId

TimeCreated

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.TimeCreated

ExceptionMessage

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.Data1MaxStr

ExceptionTypeName

Correlacionado com ASStagingTable-> Coluna: ASStagingTable.Data1Str

Para obter mais informações sobre este evento, consulte 219 - ServiceException (https://go.microsoft.com/fwlink/?LinkId=187230).

  2011-12-05