Compartir vía


Seguimiento de asignaciones de eventos de base de datos

En este tema se incluye la asignación de los campos de la tabla de ensayo de la base de datos de seguimiento en las vistas de eventos para cada uno de los tipos de eventos emitidos por el tiempo de ejecución Windows Workflow Foundation (WF). Esta información es necesaria al configurar una base de datos de seguimiento que no es de SQL para su uso con Microsoft AppFabric 1.1 para Windows Server. Al usar SQL Server, todas las vistas y la tabla de ensayo se crean mediante el proceso de configuración de AppFabric. No obstante, en una implementación de base de datos que no es de SQL, es necesario crear manualmente estas vistas y la tabla de ensayo. Cuando se produce un evento en un servicio WCF o WF administrado por AppFabric, Servicio de recopilación de eventos escribe una fila correspondiente a dicho evento en la tabla ASStagingTable en la base de datos de seguimiento. Es necesario asignar los datos en la vista correspondiente de modo que puedan mostrarse mediante el Panel de AppFabric. Esta asignación puede tener lugar usando el mecanismo que se elija para recibir los datos de la tabla de ensayo en cualquier tabla que admita las vistas de seguimiento. Por ejemplo, puede usar un desencadenador de base de datos o un trabajo.

Este documento sólo contiene algunos eventos y asignaciones de vistas. Para obtener un conjunto completo de eventos y sus asignaciones asociadas, descargue las Asignaciones de eventos de base de datos de AppFabric. Para obtener más información sobre este proceso de asignación, vea Cómo Uso de una base de datos de seguimiento que no sea de SQL Server y Vistas y tablas de la base de datos de seguimiento.

Asignación común para todos los eventos

Tabla ASStagingTable

Cada evento rellenará los campos siguientes de la tabla ASStagingTable.

Columnas de ASStagingTable Datos del evento

EventTypeId

Identificador del evento emitido

E2EActivityId

Identificador de actividad de extremo a extremo emitido con este evento.

Computer

Nombre del equipo en el que se emite el evento.

EventSource

Ruta de acceso virtual para este evento.

ProcessId

Identificador del proceso.

TraceLevelId

Nivel de seguimiento para el evento emitido.

TimeCreated

Hora de creación de este evento.

Vista ASEventSources

Casi todos los eventos rellenarán la vista ASEventSources (a excepción del evento con el identificador 499).

Nombre de columna Origen de los datos

ID

Identificador para el origen del evento. Otras vistas lo usan para obtener los detalles del origen del evento.

Name

Nombre del servicio extraído de la columna EventSource de ASStagingTable

Computer

Asignado al equipo de ASStagingTable.

Site

Nombre del sitio extraído de la columna EventSource de ASStagingTable

VirtualPath

Nombre de la ruta de acceso virtual completa extraído de la columna EventSource de ASStagingTable

ApplicationVirtualPath

Nombre de la ruta de acceso virtual a la aplicación extraído de la columna EventSource de ASStagingTable

ServiceVirtualPath

Nombre de la ruta de acceso virtual al servicio extraído de la columna EventSource de ASStagingTable

Vista ASEvents

Casi todos los eventos rellenarán la vista ASEvents (a excepción del evento con el identificador 499).

Nombre de columna Origen de los datos

EventTypeId

EventTypeId asignado a ASStagingTable.EventTypeId

EventName

Nombre del evento

EventVersion

Versión del evento. Actualmente 0.

EventSourceID

Asignado al identificador para el origen de eventos en las vistas ASEventSources

ProcessId

Asignado a ASStagingTable.ProcessId

TraceLevelId

Asignado a ASStagingTable.TraceLevelID

TraceLevel

Representación en forma de cadena de TraceLevelId

E2EActivityId

Asignado a ASStagingTable.E2EActivityId

TimeCreated

Asignado a ASStagingTable.TimeCreated

Eventos

A continuación se indican algunas de las asignaciones de eventos para implementar una base de datos de seguimiento.

Identificador de evento 100

Además de las columnas comunes, el Servicio de recopilación de eventos rellena las columnas siguientes en la tabla ASStagingTable para el identificador de evento 100.

Datos del evento Columnas de ASStagingTable

TypeName

Data1UniqueId

RecordNumber

Data1BigInt

ActivityRootId

Data3Str

State

Data2Str

Nombre de perfil de seguimiento

Data1Str

Annotations

CustomAnnotations

Los datos del evento 100 rellenan las vistas siguientes: ASEventSources, ASWfEvents, ASEvents, ASWfTrackingProfiles y ASWfEventAnnotations. La asignación de datos de ASStagingTable a las vistas comunes ASEventSources y ASEvents se especifica en las asignaciones comunes.

Vista: ASWfEventAnnotations

Esta vista se actualiza con anotaciones que se emiten con eventos de seguimiento de WF desde los servicios de WF.

Nombre de columna Datos rellenados

Id

Identificador exclusivo para esta fila de evento

AnnotationSetId

Clave para encontrar el evento de WF que emitió la anotación

Name

Nombre de la anotación obtenido de ASStagingTable.CustomAnnotations

Value

Valor de la anotación obtenido de ASStagingTable.CustomAnnotations

Extracción del nombre y el valor de anotaciones de ASStagingTable.CustomAnnotations

Las anotaciones se almacenan de la manera siguiente. Las anotaciones se emiten con este evento. Los valores de anotaciones se almacenan en este formato.

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

Si no se especifican anotaciones, la cadena contiene </items>. Los elementos name y value se extraen mediante el análisis del valor almacenado en la columna ASStagingTable.CustomAnnotations.

Vista ASWfTrackingProfiles

Nombre de columna Datos rellenados

Id

Identificador exclusivo para el perfil de seguimiento

Name

Asignado a ASStagingTable-> Columna ASStagingTable.Data1Str

Vista ASWfEvents

Únicamente se especifican las columnas rellenadas para este evento en esta vista. Todas las demás columnas tienen el valor NULL. El valor rellenado específicamente por el evento se indica en negrita. Esta vista se crea en los eventos de seguimiento emitidos para instancias de WF.

Nombre de columna Datos rellenados

Id

Identificador exclusivo generado

EventTypeId

100 (asignado a: ASStagingTable-> Columna EventTypeId)

EventType

“WorkflowInstanceRecord”

EventVersion

0

EventSourceId

Identificador en la vista ASEventSources

ProcessId

Asignado a ASStagingTable-> Columna: ASStagingTable.ProcessId

WorkflowInstanceId

Asignado a ASStagingTable-> Columna: ASStagingTable.Data1UniqueId

TrackingProfileId

Identificador exclusivo del perfil de seguimiento asignado a la columna del identificador en la vista ASWftTrackingProfiles. Tanto este identificador como ASWfTrackingProfiles se actualizan en una única transacción.

E2EActivityId

Asignado a ASStagingTable-> Columna: ASStagingTable.E2EActivityId

TraceLevelId

Asignado a ASStagingTable-> Columna: ASStagingTable.TraceLevelId

TraceLevel

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

RecordNumber

Asignado a ASStagingTable-> Columna: ASStagingTable.Data1BigInt

AnnotationSetId

Identificador exclusivo del conjunto de anotaciones asignadas a la columna AnnotationSetId en la vista ASWfEventAnnotations. Tanto este identificador como ASWfEventAnnotations se actualizan en una única transacción.

TimeCreated

Asignado a ASStagingTable-> Columna: ASStagingTable.TimeCreated

ActivityRootId

Asignado a ASStagingTable-> Columna: ASStagingTable.Data3Str

State

Asignado a ASStagingTable-> Columna: ASStagingTable.Data2Str

Vista: ASWfInstances

Esta vista se actualiza con el estado de instancia para el flujo de trabajo activo. Esta vista se actualiza después de la vista ASWfEvents pero dentro de la misma transacción. Cuando se agrega un evento a la vista ASWfEvents, ésta se debe actualizar simultáneamente con los valores insertados en la vista ASWfEvents y, por lo tanto, en la misma transacción. Únicamente hay una fila por instancia de flujo de trabajo. Con cada evento que se agrega a la tabla WFEvents, se modifica la fila para la instancia de flujo de trabajo. Una fila se agrega o actualiza en esta tabla únicamente bajo determinadas condiciones. Si state = “Deleted” o “Unloaded” (ASWfEvents.State) para un evento con el identificador 100, la fila no se agrega a esta tabla.

Nombre de columna Datos rellenados

Id

Identificador exclusivo para esta entrada

WorkflowInstanceId

Asignado a ASStagingTable-> Columna: ASStagingTable.Data1UniqueId. Únicamente se agrega una vez para una instancia exclusiva.

LastEventSourceId

El último eventSourceID que ha modificado esta fila. Asignado a ASWfEvents.EventSourceId.

LastEventStatus

Asignado a la vista ASWfEvents -> Columna: ASWfEvents.State. Únicamente se inserta o actualiza si el estado no es igual a “Deleted” o “Unloaded”. Si state == “Deleted” o “Unloaded” no se agrega una fila a esta tabla.

StartTime

Asignado a ASWfEvents-> Columna: ASWfEvents.TimeCreated. Es el valor de TimeCreated del evento con el campo RecordNumber más bajo para esta instancia de trabajo.

LastModifiedTime

Asignado a ASWfEvents-> Columna: ASWfEvents.TimeCreated. Se actualiza cuando cambia el estado. Además, tenga en cuenta que para actualizar esta columna, el campo RecordNumber de WorkflowRecord es mayor que el campo RecordNumber anterior que actualizó este valor. (La posible implementación es mantener una tabla temporal que asigne el identificador de instancia de esta tabla al RecordNumber del registro de eventos de flujo de trabajo de ASWfEvents que lo ha modificado. Cuando un nuevo evento intenta actualizar esta fila para esta instancia, compruebe si el RecordNumber es mayor que el último RecordNumber modificado).

CurrentDuration

Duración del flujo de trabajo en ejecución (LastModifiedTime – StartTime)

ExceptionCount

Número de excepciones que ha encontrado el flujo de trabajo. No actualizado por el identificador de evento 100.

LastAbortedTime

No actualizado por el identificador de evento 100.

Para obtener más información sobre este evento, vea 100 - WorkflowInstanceRecord (https://go.microsoft.com/fwlink/?LinkId=187224) (puede estar en inglés).

Identificador de evento 103

Además de las columnas comunes, el Servicio de recopilación de eventos rellena las columnas siguientes en la tabla ASStagingTable para el identificador de evento 103.

Datos del evento Columnas de ASStagingTable

workflowinstanceid

Data1UniqueId

RecordNumber

Data1BigInt

Nombre de perfil de seguimiento

Data1Str

State

Data2Str

ActivityName

Data3Str

ActivityId

Data4Str

ActivityInstanceId

Data5Str

ActivityTypeName

Data6Str

Annotations

CustomAnnotations

Variables

CustomProperties

Arguments

CustomArguments

Los datos del evento 103 rellenan las vistas siguientes: ASEventSources, ASWfEvents, ASEvents, ASWfTrackingProfiles, ASWfEventAnnotations, ASWfEventProperties y ASWfPropertyNames. La asignación de datos de ASStagingTable a las vistas comunes ASEventSources y ASEvents se especifica en las asignaciones comunes.

Vista: ASWfEventAnnotations

Esta vista se actualiza con anotaciones que se emiten con eventos de seguimiento de WF desde los servicios de WF.

Nombre de columna Datos rellenados

Id

Identificador exclusivo para esta fila de evento

AnnotationSetId

Clave para encontrar el evento de WF que emitió la anotación

Name

Nombre de la anotación obtenido de ASStagingTable.CustomAnnotations

Value

Valor de la anotación obtenido de ASStagingTable.CustomAnnotations

Extracción del nombre y el valor de anotaciones de ASStagingTable.CustomAnnotations

Las anotaciones se emiten con este evento. Los valores de las anotaciones se almacenan en el formato siguiente. Si no se especifican anotaciones, la cadena contiene </items>. El nombre y el valor se extraen mediante el análisis del valor almacenado en la columna ASStagingTable.CustomAnnotations.

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

Vista: ASWfPropertyNames

Esta vista se crea en los nombres de propiedad de seguimiento que se extraen de los servicios de WF. El nombre puede ser un nombre de variable, un nombre de argumento o un nombre dentro de customtrackingrecord.

Nombre de columna Datos rellenados

EventSourceId

Origen de eventos para este evento. Hace referencia al identificador en la vista EventSources.

Name

Nombre de la propiedad supervisada

Type

Tipo de la propiedad supervisada

Extracción del nombre y el tipo de ASStagingTable.CustomProperties o ASStagingTable CustomArguments

Las variables de flujo de trabajo se almacenan en ASStagingTable.CustomProperties. Para el evento 103, el formato de las variables es el siguiente. Si no se especifican variables, la cadena contiene </items>. Analice la cadena XML para obtener el nombre y el tipo de la variable.

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

Los argumentos se almacenan en ASStagingTable.CustomArguments. Para el evento 103, el formato de los argumentos es el siguiente. Analice la cadena XML para obtener el nombre y el tipo del argumento. Si no se especifican argumentos, la cadena contiene </items>.

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

Vista: ASWfEventProperties

Esta vista tiene una fila por variable, argumento o propiedad personalizada que se extrae del evento de WF.

Nombre de columna Datos rellenados

EventId

Se asigna al identificador de eventos de la vista ASWfEvents -> ASWfEvents. Id hace referencia al evento de WF que emitió estos datos.

Name

Nombre extraído del análisis de XML de ASStagingTable.CustomArguments o ASStagingTable.CustomProperties

WfDataSource

Origen de la propiedad (argumento, variable o datos personalizados). Si los datos se rellenan desde ASStagingTable.CustomArguments el valor es “Argument”. Si los datos se rellenan desde ASStagingTable.CustomProperties el valor es “Variable”.

Type

Tipo de la propiedad extraído de CustomArguments del XML de CustomProperties

Value

Valor de la propiedad extraído de CustomArguments del XML de CustomProperties cuando el tipo es simple

ValueBlob

Valor de la propiedad extraído de CustomArguments del XML de CustomProperties en el caso en que el tipo sea complejo

TimeCreated

Marca de tiempo de emisión de la propiedad asignada a ASWfEvents.TimeCreated

Vista ASWfTrackingProfiles

Nombre de columna Datos rellenados

Id

Identificador exclusivo para el perfil de seguimiento

Name

Asignado a ASStagingTable-> Columna ASStagingTable.Data1Str

Vista ASWfEvents

Únicamente se especifican las columnas rellenadas para este evento en esta vista. Todas las demás columnas tienen el valor NULL. El valor rellenado específicamente por el evento se indica en negrita. Esta vista se crea en los eventos de seguimiento emitidos para instancias de WF.

Nombre de columna Datos rellenados

Id

Identificador exclusivo generado

EventTypeId

103 (asignado a: ASStagingTable-> Columna EventTypeId)

EventType

“ActivityStateRecord”

EventVersion

0

EventSourceId

Identificador en la vista ASEventSources

ProcessId

Asignado a ASStagingTable-> Columna: ASStagingTable.ProcessId

WorkflowInstanceId

Asignado a ASStagingTable-> Columna: ASStagingTable.Data1UniqueId

TrackingProfileId

Identificador exclusivo del perfil de seguimiento asignado a la columna del identificador en la vista ASWftTrackingProfiles. Tanto este identificador como ASWfTrackingProfiles se actualizan en una única transacción.

E2EActivityId

Asignado a ASStagingTable-> Columna: ASStagingTable.E2EActivityId

TraceLevelId

Asignado a ASStagingTable-> Columna: ASStagingTable.TraceLevelId

TraceLevel

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

RecordNumber

Asignado a ASStagingTable-> Columna: ASStagingTable.Data1BigInt

AnnotationSetId

Identificador exclusivo del conjunto de anotaciones asignadas a la columna AnnotationSetId en la vista ASWfEventAnnotations. Tanto este identificador como ASWfEventAnnotations se actualizan en una única transacción.

TimeCreated

Asignado a ASStagingTable-> Columna: ASStagingTable.TimeCreated

ActivityName

Asignado a ASStagingTable-> Columna: ASStagingTable.Data3Str

ActivityId

Asignado a ASStagingTable-> Columna: ASStagingTable.Data4Str

ActivityInstanceId

Asignado a ASStagingTable-> Columna: ASStagingTable.Data5Str

ActivityTypeName

Asignado a ASStagingTable-> Columna: ASStagingTable.Data6Str

State

Asignado a ASStagingTable-> Columna: ASStagingTable.Data2Str

Vista: ASWfInstances

Esta vista se actualiza con el estado de instancia para el flujo de trabajo activo. Esta vista se actualiza después de la vista ASWfEvents pero dentro de la misma transacción. Cuando se agrega un evento a la vista ASWfEvents, ésta se debe actualizar simultáneamente con los valores insertados en la vista ASWfEvents y, por lo tanto, en la misma transacción. Únicamente hay una fila por instancia de flujo de trabajo. Con cada evento que se agrega a la tabla WFEvents, se modifica la fila para la instancia de flujo de trabajo.

Nombre de columna Datos rellenados

Id

Identificador exclusivo para esta entrada

WorkflowInstanceId

Asignado a ASStagingTable-> Columna: ASStagingTable.Data1UniqueId. Agregado únicamente una vez para una instancia exclusiva.

LastEventSourceId

El último eventSourceID que ha modificado esta fila. Asignado a ASWfEvents.EventSourceId.

LastEventStatus

Asignado a la vista ASWfEvents -> Columna: ASWfEvents.State. Únicamente se inserta o actualiza si el estado no es igual a “Deleted” o “Unloaded”. Si state == “Deleted” o “Unloaded”, no se agrega una fila a esta tabla. En el caso del evento 101 el valor es “UnhandledException”.

StartTime

Asignado a ASWfEvents-> Columna: ASWfEvents.TimeCreated. Es el valor de TimeCreated del evento con el campo RecordNumber más bajo para esta instancia de trabajo representada por ASWfEvents.WorkflowInstanceId.

LastModifiedTime

Asignado a ASWfEvents-> Columna: ASWfEvents.TimeCreated. Se actualiza cuando cambia el estado. Además, tenga en cuenta que para actualizar esta columna, el campo RecordNumber de WorkflowRecord es mayor que el campo RecordNumber anterior que actualizó este valor. (La posible implementación es mantener una tabla temporal que asigne el identificador de instancia de esta tabla al RecordNumber del registro de eventos de flujo de trabajo de ASWfEvents que lo ha modificado. Cuando un nuevo evento intenta actualizar esta fila para esta instancia, compruebe si el RecordNumber es mayor que el último RecordNumber modificado).

CurrentDuration

Duración del flujo de trabajo en ejecución (LastModifiedTime – StartTime)

ExceptionCount

Número de excepciones que ha encontrado el flujo de trabajo. El recuento de eventos 101 que ha encontrado esta instancia de WF representada por el identificador de instancia ASWfEvents. WorkflowInstanceId.

LastAbortedTime

Última hora desde la vista ASWfEvents para el evento con el identificador 101 o 102. Para la instancia de flujo de trabajo representada por ASWfEvents.WorkflowInstanceId.

Para obtener más información sobre este evento, consulte 103 - ActivityStateRecord (https://go.microsoft.com/fwlink/?LinkId=187226) (puede estar en inglés).

Identificador de evento 214

Además de las columnas comunes, el Servicio de recopilación de eventos rellena las columnas siguientes en la tabla ASStagingTable para el identificador de evento 214.

Datos del evento Columnas de ASStagingTable

MethodName

Data1Str

Duration

Data1Int

Los datos del evento 214 rellenan las vistas siguientes: ASEventSources, ASWcfEvents y ASEvents. La asignación de datos de ASStagingTable a las vistas comunes ASEventSources y ASEvents se especifica en las asignaciones comunes.

Vista ASWcfEvents

Únicamente se especifican las columnas rellenadas para este evento en esta vista. Todas las demás columnas tienen el valor NULL. El valor rellenado específicamente por el evento se indica en negrita.

ColumnName Datos rellenados

Id

Identificador exclusivo generado

EventTypeId

214 (asignado a: ASStagingTable-> Columna EventTypeId)

EventType

OperationCompleted”

EventVersion

0

EventSourceId

Identificador en la vista ASEventSources

ProcessId

Asignado a ASStagingTable-> Columna: ProcessId

TraceLevelId

Asignado a ASStagingTable-> Columna: TraceLevelId

TraceLevel

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

E2EActivityId

Asignado a ASStagingTable-> Columna: ASStagingTable.E2EActivityId

TimeCreated

Asignado a ASStagingTable-> Columna: ASStagingTable.TimeCreated

OperationName

Asignado a ASStagingTable-> Columna: ASStagingTable.Data1Str

Duration

Asignado a ASStagingTable-> Columna: ASStagingTable.Data1Int

Para obtener más información sobre este evento, consulte 214 - OperationCompleted (https://go.microsoft.com/fwlink/?LinkId=187225) (puede estar en inglés).

Identificador de evento 219

Además de las columnas comunes, el Servicio de recopilación de eventos rellena las columnas siguientes en la tabla ASStagingTable para el identificador de evento 214.

Datos del evento Columnas de ASStagingTable

ExceptionTypeName

Data1Str

ExceptionToString

Data1MaxStr

Los datos del evento 219 rellenan las vistas siguientes: ASEventSources, ASWcfEvents y ASEvents. La asignación de datos de ASStagingTable a las vistas comunes ASEventSources y ASEvents se especifica en las asignaciones comunes.

Vista ASWcfEvents

Únicamente se especifican las columnas rellenadas para este evento en esta vista. Todas las demás columnas tienen el valor NULL. El valor rellenado específicamente por el evento se indica en negrita.

ColumnName Datos rellenados

Id

Identificador exclusivo generado

EventTypeId

219 (asignado a: ASStagingTable-> Columna ASStagingTable .EventTypeId)

EventType

“ServiceException”

EventVersion

0

EventSourceId

Identificador en la vista ASEventSources. Esta es la asignación del evento en ASWcfEvents a la vista ASEventSources.

ProcessId

Asignado a ASStagingTable-> Columna: ASStagingTable.ProcessId

TraceLevelId

Asignado a ASStagingTable-> Columna: ASStagingTable.TraceLevelId

TraceLevel

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

E2EActivityId

Asignado a ASStagingTable-> Columna: ASStagingTable.E2EActivityId

TimeCreated

Asignado a ASStagingTable-> Columna: ASStagingTable.TimeCreated

ExceptionMessage

Asignado a ASStagingTable-> Columna: ASStagingTable.Data1MaxStr

ExceptionTypeName

Asignado a ASStagingTable-> Columna: ASStagingTable.Data1Str

Para obtener más información sobre este evento, vea 219 - ServiceException (https://go.microsoft.com/fwlink/?LinkId=187230) (puede estar en inglés).

  2012-03-05