Поделиться через


Сопоставления событий базы данных наблюдения

В этом разделе приводится сопоставление полей таблицы подготовки в базе данных наблюдения с представлениями событий для всех типов событий, порожденных средой выполнения Windows Workflow Foundation (WF). Эти сведения необходимы при настройке базы данных наблюдения, не основанной на SQL, для использования с Microsoft AppFabric 1.1 для Windows Server. При использовании SQL Server все представления и таблица подготовки создаются в процессе настройки AppFabric. Однако при реализации базы данных, отличной от SQL Server, необходимо создать эти представления и таблицу подготовки вручную. При возникновении события в службе WCF или WF, управляемой AppFabric, Служба сбора событий записывает соответствующую этому событию строку в таблицу ASStagingTable базы данных наблюдения. Эти данные необходимо сопоставить с соответствующим представлением, чтобы они могли отображаться с помощью панели мониторинга AppFabric. Это сопоставление можно выполнить с помощью любого механизма, выбранного для извлечения данных из таблицы подготовки в любые таблицы, поддерживающие представления наблюдения. Например, можно использовать триггер или задание базы данных.

В этом документе приводится только несколько событий и сопоставлений с представлениями. Полный набор событий и связанных с ними сопоставлений можно загрузить на странице сопоставлений событий базы данных AppFabric. Дополнительные сведения о процессе сопоставления см. в разделах Инструкция по использованию базы данных наблюдения, отличной от базы данных SQL Server и Наблюдение за представлениями и таблицами базы данных.

Общее сопоставление для всех событий

Таблица ASStagingTable

Все события заполняют следующие поля в таблице ASStagingTable.

Столбцы ASStagingTable Данные события

EventTypeId

Идентификатор порожденного события.

E2EActivityId

Идентификатор сквозного действия, порожденный вместе с событием

Computer

Имя компьютера, на котором порождено событие.

EventSource

Виртуальный путь события.

ProcessId

Идентификатор процесса.

TraceLevelId

Уровень трассировки порожденного события.

TimeCreated

Время создания события.

Представление ASEventSources

Почти все события заполняют представление ASEventSources (за исключением события с кодом 499).

Имя столбца Источник данных

ID

Идентификатор источника события. Он используется в других представлениях для получения сведений об источнике события.

Name

Имя службы, извлекаемое из столбца EventSource в таблице ASStagingTable.

Computer

Сопоставляется со столбцом Computer в таблице ASStagingTable.

Site

Имя сайта, извлекаемое из столбца EventSource в таблице ASStagingTable.

VirtualPath

Полное имя VirtualPath, извлекаемое из столбца EventSource в таблице ASStagingTable.

ApplicationVirtualPath

Имя VirtualPath приложения, извлекаемое из столбца EventSource в таблице ASStagingTable.

ServiceVirtualPath

Имя VirtualPath службы, извлекаемое из столбца EventSource в таблице ASStagingTable.

Представление ASEvents

Почти все события заполняют представление ASEvents (за исключением события с кодом 499).

Имя столбца Источник данных

EventTypeId

Столбец EventTypeId соотносится со столбцом ASStagingTable.EventTypeId.

EventName

Имя события.

EventVersion

Версия события. В данный момент равна 0.

EventSourceID

Сопоставляется с идентификатором источника событий в представлениях ASEventSources.

ProcessId

Сопоставляется со столбцом ASStagingTable.ProcessId.

TraceLevelId

Сопоставляется со столбцом ASStagingTable.TraceLevelID.

TraceLevel

Строковое представление значения в столбце TraceLevelId.

E2EActivityId

Сопоставляется со столбцом ASStagingTable.E2EActivityId.

TimeCreated

Сопоставляется со столбцом ASStagingTable.TimeCreated.

События

Здесь приведены некоторые сопоставления событий, которые реализуются в базе данных наблюдения.

Код события 100

Помимо общих столбцов, Служба сбора событий заполняет для события с кодом 100 следующие столбцы таблицы ASStagingTable.

Данные события Столбцы ASStagingTable

TypeName

Data1UniqueId

RecordNumber

Data1BigInt

ActivityRootId

Data3Str

Состояние

Data2Str

Имя профиля отслеживания

Data1Str

Заметки

CustomAnnotations

Данные для события 100 попадают в следующие представления: ASEventSources, ASWfEvents, ASEvents, ASWfTrackingProfiles, ASWfEventAnnotations. Сопоставление данных из ASStagingTable с общими представлениями ASEventSources и ASEvents задается в общих сопоставлениях.

Представление: ASWfEventAnnotations

В это представление добавляются заметки, порождаемые с событиями отслеживания WF в службах WF.

Имя столбца Добавляемые данные

Id

Уникальный идентификатор строки события.

AnnotationSetId

Ключ для поиска события WF, породившего заметку.

Name

Имя заметки, полученное из столбца ASStagingTable.CustomAnnotations.

Value

Значение заметки, полученное из столбца ASStagingTable.CustomAnnotations.

Извлечение названия и значения заметок из ASStagingTable.CustomAnnotations

Заметки хранятся следующим образом. Заметки порождаются с указанным событием. Значения заметок хранятся в следующем формате.

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

Если заметки не указаны, то строка содержит значение </items>. Значения name и value извлекаются путем анализа значения в столбце ASStagingTable.CustomAnnotations.

Представление ASWfTrackingProfiles

Имя столбца Добавляемые данные

Id

Уникальный идентификатор профиля отслеживания.

Name

Сопоставляется со столбцом ASStagingTable->ASStagingTable.Data1Str.

Представление ASWfEvents

Указаны только столбцы, заполняемые в этом представлении для указанного события. Все прочие столбцы имеют значение NULL. Конкретные значения, заполняемые для этого события, выделены жирным шрифтом. Это представление создается для событий отслеживания, порождаемых для экземпляров WF.

Имя столбца Добавляемые данные

Id

Создаваемый уникальный идентификатор.

EventTypeId

100 (сопоставляется с ASStagingTable->EventTypeId)

EventType

«WorkflowInstanceRecord»

EventVersion

0

EventSourceId

Столбец ID в представлении ASEventSources.

ProcessId

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.ProcessId.

WorkflowInstanceId

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.Data1UniqueId.

TrackingProfileId

Уникальный идентификатор профиля отслеживания, сопоставляемый со столбцом ID в представлении ASWfTrackingProfiles. Обновление этого значения и ASWfTrackingProfiles осуществляется в единой транзакции.

E2EActivityId

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.E2EActivityId.

TraceLevelId

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.TraceLevelId.

TraceLevel

Зависит от TraceLevelId: 0 : LogAlways; 1 : Critical; 2 : Error; 3 : Warning; 4 : Information; 5 : Verbose.

RecordNumber

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.Data1BigInt.

AnnotationSetId

Уникальный идентификатор набора заметок, сопоставляемый со столбцом AnnotationSetId в представлении ASWfEventAnnotations. Обновление этого значения и ASWfEventAnnotations осуществляется в единой транзакции.

TimeCreated

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.TimeCreated.

ActivityRootId

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.Data3Str.

State

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.Data2Str.

Представление: ASWfInstances

В это представление добавляется состояние экземпляра для активного рабочего процесса. Это представление обновляется после представления ASWfEvents, но в одной с ним транзакции. Когда в представление ASWfEvents добавляется событие, значения, внесенные в представление ASWfEvents, должны быть одновременно добавлены и в это представление, поэтому используется единая транзакция. Для каждого экземпляра рабочего процесса добавляется только одна строка. При добавлении новых событий в таблицу WFEvents строка экземпляра рабочего процесса изменяется. Строки в этой таблице добавляются или изменяются только в определенных условиях. Если событие с кодом 100 имеет состояние «Deleted» или «Unloaded» (столбец ASWfEvents.State), то строка в эту таблицу не добавляется.

Имя столбца Добавляемые данные

Id

Уникальный идентификатор записи.

WorkflowInstanceId

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.Data1UniqueId; добавляется только раз для каждого уникального экземпляра.

LastEventSourceId

Значение eventSourceID, использованное для последнего изменения этой строки. Соотносится с ASWfEvents.EventSourceId.

LastEventStatus

Сопоставляется со столбцом ASWfEvents->: ASWfEvents.State. Добавляется и обновляется только в случае, если состояние не равно «Deleted» или «Unloaded». Если состояние равно «Deleted» или «Unloaded», то строка в эту таблицу не добавляется.

StartTime

Сопоставляется со столбцом ASWfEvents->: ASWfEvents.TimeCreated. Это значение TimeCreated для события с наименьшим значением RecordNumber для этого экземпляра рабочего процесса.

LastModifiedTime

Сопоставляется со столбцом ASWfEvents->: ASWfEvents.TimeCreated. Обновляется при изменении состояния. Обратите внимание, что для обновления этого столбца значение RecordNumber у WorkflowRecord должно превышать предыдущее значение RecordNumber, использованное для обновления этого столбца. (Возможная реализация заключается в поддержании временной таблицы, сопоставляющей идентификатор экземпляра в этой таблице со значением RecordNumber записи события рабочего процесса из таблицы ASWfEvents, осуществившей изменение. Если новое событие приводит к попытке изменения этой строки, осуществляется сравнение нового значения RecordNumber со значением RecordNumber, относящимся к последнему изменению.)

CurrentDuration

Длительность работающего рабочего процесса (LastModifiedTime – StartTime).

ExceptionCount

Количество исключений, обнаруженных рабочим процессом. Не обновляется событием с кодом 100.

LastAbortedTime

Не обновляется событием с кодом 100.

Дополнительные сведения об этом событии см. в статье 100 - WorkflowInstanceRecord (https://go.microsoft.com/fwlink/?LinkId=187224).

Код события 103

Помимо общих столбцов, Служба сбора событий заполняет для события с кодом 103 следующие столбцы таблицы ASStagingTable.

Данные события Столбцы ASStagingTable

workflowinstanceid

Data1UniqueId

RecordNumber

Data1BigInt

Имя профиля отслеживания

Data1Str

Состояние

Data2Str

ActivityName

Data3Str

ActivityId

Data4Str

ActivityInstanceId

Data5Str

ActivityTypeName

Data6Str

Заметки

CustomAnnotations

Переменные

CustomProperties

Аргументы

CustomArguments

Данные для события 103 попадают в следующие представления: ASEventSources, ASWfEvents, ASEvents, ASWfTrackingProfiles, ASWfEventAnnotations, ASWfEventProperties, ASWfPropertyNames. Сопоставление данных из ASStagingTable с общими представлениями ASEventSources и ASEvents задается в общих сопоставлениях.

Представление: ASWfEventAnnotations

В это представление добавляются заметки, порождаемые с событиями отслеживания WF в службах WF.

Имя столбца Добавляемые данные

Id

Уникальный идентификатор строки события.

AnnotationSetId

Ключ для поиска события WF, породившего заметку.

Name

Имя заметки, полученное из столбца ASStagingTable.CustomAnnotations.

Value

Значение заметки, полученное из столбца ASStagingTable.CustomAnnotations.

Извлечение названия и значения заметок из ASStagingTable.CustomAnnotations

Заметки порождаются с указанным событием. Значения заметок хранятся в следующем формате. Если заметки не указаны, то строка содержит значение </items>. Имя и значение извлекаются путем анализа значения в столбце ASStagingTable.CustomAnnotations.

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

Представление: ASWfPropertyNames

Это представление создается для имен отслеживаемых свойств, извлекаемых из служб WF. Имя может быть именем переменной, именем аргумента или именем в значении customtrackingrecord.

Имя столбца Добавляемые данные

EventSourceId

Источник этого события. Это значение указывает на идентификатор в представлении EventSources.

Name

Имя отслеживаемого свойства.

Type

Тип отслеживаемого свойства.

Извлечение имени и типа из столбца ASStagingTable.CustomProperties или ASStagingTable.CustomArguments

Переменные рабочих процессов хранятся в столбце ASStagingTable.CustomProperties. Для события с кодом 103 используется следующий формат переменных. Если переменные не указаны, то строка содержит значение </items>. Для получения имени и типа переменной следует выполнить анализ XML-строки.

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

Аргументы хранятся в столбце ASStagingTable.CustomArguments. Для события с кодом 103 используется следующий формат аргументов. Для получения имени и типа аргумента следует выполнить анализ XML-строки. Если аргументы не указаны, то строка содержит значение </items>.

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

Представление: ASWfEventProperties

Это представление содержит по одной строке для каждого экземпляра переменной, аргумента или настраиваемых данных свойства, извлекаемого из события WF.

Имя столбца Добавляемые данные

EventId

Соответствует идентификатору события в столбце ASWfEvents-> ASWfEvents.Id и указывает на событие WF, породившее соответствующие данные.

Name

Имя, извлеченное при анализе XML из столбца ASStagingTable.CustomArguments или ASStagingTable.CustomProperties.

WfDataSource

Источник свойства (аргумент, переменная или настраиваемые данные). Если данные берутся из столбца ASStagingTable.CustomArguments, значение равно «Argument». Если данные берутся из столбца ASStagingTable.CustomProperties , значение равно «Variable».

Type

Тип свойства, извлекаемого из XML-данных в CustomArguments или CustomProperties.

Value

Значение свойства, извлеченное из XML-данных в CustomArguments или CustomProperties, если тип является простым.

ValueBlob

Значение свойства, извлеченное из XML-данных в CustomArguments или CustomProperties, если тип является сложным.

TimeCreated

Отметка времени порождения свойства, сопоставляемая с ASWfEvents.TimeCreated.

Представление ASWfTrackingProfiles

Имя столбца Добавляемые данные

Id

Уникальный идентификатор профиля отслеживания.

Name

Сопоставляется со столбцом ASStagingTable->ASStagingTable.Data1Str.

Представление ASWfEvents

Указаны только столбцы, заполняемые в этом представлении для указанного события. Все прочие столбцы имеют значение NULL. Конкретные значения, заполняемые для этого события, выделены жирным шрифтом. Это представление создается для событий отслеживания, порождаемых для экземпляров WF.

Имя столбца Добавляемые данные

Id

Создаваемый уникальный идентификатор.

EventTypeId

103 (сопоставляется с ASStagingTable->EventTypeId)

EventType

«ActivityStateRecord»

EventVersion

0

EventSourceId

Столбец ID в представлении ASEventSources.

ProcessId

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.ProcessId.

WorkflowInstanceId

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.Data1UniqueId.

TrackingProfileId

Уникальный идентификатор профиля отслеживания, сопоставляемый со столбцом ID в представлении ASWfTrackingProfiles. Обновление этого значения и ASWfTrackingProfiles осуществляется в единой транзакции.

E2EActivityId

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.E2EActivityId.

TraceLevelId

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.TraceLevelId.

TraceLevel

Зависит от TraceLevelId: 0 : LogAlways; 1 : Critical; 2 : Error; 3 : Warning; 4 : Information; 5 : Verbose.

RecordNumber

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.Data1BigInt.

AnnotationSetId

Уникальный идентификатор набора заметок, сопоставляемый со столбцом AnnotationSetId в представлении ASWfEventAnnotations. Обновление этого значения и ASWfEventAnnotations осуществляется в единой транзакции.

TimeCreated

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.TimeCreated.

ActivityName

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.Data3Str.

ActivityId

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.Data4Str.

ActivityInstanceId

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.Data5Str.

ActivityTypeName

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.Data6Str.

Состояние

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.Data2Str.

Представление: ASWfInstances

В это представление добавляется состояние экземпляра для активного рабочего процесса. Это представление обновляется после представления ASWfEvents, но в одной с ним транзакции. Когда в представление ASWfEvents добавляется событие, значения, внесенные в представление ASWfEvents, должны быть одновременно добавлены и в это представление, поэтому используется единая транзакция. Для каждого экземпляра рабочего процесса добавляется только одна строка. При добавлении новых событий в таблицу WFEvents строка экземпляра рабочего процесса изменяется.

Имя столбца Добавляемые данные

Id

Уникальный идентификатор записи.

WorkflowInstanceId

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.Data1UniqueId. Добавляется только раз для каждого уникального экземпляра.

LastEventSourceId

Значение eventSourceID, использованное для последнего изменения этой строки. Соотносится с ASWfEvents.EventSourceId.

LastEventStatus

Сопоставляется со столбцом ASWfEvents->: ASWfEvents.State. Добавляется и обновляется только в случае, если состояние не равно «Deleted» или «Unloaded». Если состояние равно «Deleted» или «Unloaded», то строка в эту таблицу не добавляется. У события с кодом 101 значение равно «UnhandledException».

StartTime

Сопоставляется со столбцом ASWfEvents->: ASWfEvents.TimeCreated. Это значение TimeCreated для события с наименьшим значением RecordNumber для этого экземпляра рабочего процесса, представленного значением ASWfEvents.WorkflowInstanceId.

LastModifiedTime

Сопоставляется со столбцом ASWfEvents->: ASWfEvents.TimeCreated. Обновляется при изменении состояния. Обратите внимание, что для обновления этого столбца значение RecordNumber у WorkflowRecord должно превышать предыдущее значение RecordNumber, использованное для обновления этого столбца. (Возможная реализация заключается в поддержании временной таблицы, сопоставляющей идентификатор экземпляра в этой таблице со значением RecordNumber записи события рабочего процесса из таблицы ASWfEvents, осуществившей изменение. Если новое событие приводит к попытке изменения этой строки, осуществляется сравнение нового значения RecordNumber со значением RecordNumber, относящимся к последнему изменению.)

CurrentDuration

Длительность работающего рабочего процесса (LastModifiedTime – StartTime).

ExceptionCount

Количество исключений, обнаруженных рабочим процессом. Число событий с кодом 101, обнаруженных этим экземпляром рабочего процесса, представленным идентификатором экземпляра ASWfEvents. WorkflowInstanceId.

LastAbortedTime

Последнее значение времени отказа в представлении ASWfEvents для событий с кодом 101 или 102 для рабочего процесса, представленного идентификатором ASWfEvents.WorkflowInstanceId.

Дополнительные сведения об этом событии см. в статье 103 - ActivityStateRecord (https://go.microsoft.com/fwlink/?LinkId=187226).

Код события 214

Помимо общих столбцов, Служба сбора событий заполняет для события с кодом 214 следующие столбцы таблицы ASStagingTable.

Данные события Столбцы ASStagingTable

MethodName

Data1Str

Duration

Data1Int

Данные для события 214 попадают в следующие представления: ASEventSources, ASWcfEvents, ASEvents. Сопоставление данных из ASStagingTable с общими представлениями ASEventSources и ASEvents задается в общих сопоставлениях.

Представление ASWcfEvents

Указаны только столбцы, заполняемые в этом представлении для указанного события. Все прочие столбцы имеют значение NULL. Конкретные значения, заполняемые для этого события, выделены жирным шрифтом.

Имя столбца Добавляемые данные

Id

Создаваемый уникальный идентификатор.

EventTypeId

214 (сопоставляется с ASStagingTable->EventTypeId)

EventType

“OperationCompleted”

EventVersion

0

EventSourceId

Столбец ID в представлении ASEventSources.

ProcessId

Сопоставляется со столбцом ASStagingTable->: ProcessId

TraceLevelId

Сопоставляется со столбцом ASStagingTable->: TraceLevelId

TraceLevel

Зависит от TraceLevelId: 0 : LogAlways; 1 : Critical; 2 : Error; 3 : Warning; 4 : Information; 5 : Verbose.

E2EActivityId

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.E2EActivityId.

TimeCreated

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.TimeCreated.

OperationName

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.Data1Str.

Duration

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.Data1Int.

Дополнительные сведения об этом событии см. в статье 214 - OperationCompleted (https://go.microsoft.com/fwlink/?LinkId=187225).

Код события 219

Помимо общих столбцов, Служба сбора событий заполняет для события с кодом 214 следующие столбцы таблицы ASStagingTable.

Данные события Столбцы ASStagingTable

ExceptionTypeName

Data1Str

ExceptionToString

Data1MaxStr

Данные для события 219 попадают в следующие представления: ASEventSources, ASWcfEvents, ASEvents. Сопоставление данных из ASStagingTable с общими представлениями ASEventSources и ASEvents задается в общих сопоставлениях.

Представление ASWcfEvents

Указаны только столбцы, заполняемые в этом представлении для указанного события. Все прочие столбцы имеют значение NULL. Конкретные значения, заполняемые для этого события, выделены жирным шрифтом.

Имя столбца Добавляемые данные

Id

Создаваемый уникальный идентификатор.

EventTypeId

219 (сопоставляется с ASStagingTable-> ASStagingTable.EventTypeId).

EventType

«ServiceException»

EventVersion

0

EventSourceId

Столбец ID в представлении ASEventSources. Это сопоставление события в ASWcfEvents с представлением ASEventSources.

ProcessId

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.ProcessId.

TraceLevelId.

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.TraceLevelId.

TraceLevel

Зависит от TraceLevelId: 0 : LogAlways; 1 : Critical; 2 : Error; 3 : Warning; 4 : Information; 5 : Verbose.

E2EActivityId

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.E2EActivityId.

TimeCreated

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.TimeCreated.

ExceptionMessage

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.Data1MaxStr.

ExceptionTypeName

Сопоставляется со столбцом ASStagingTable->: ASStagingTable.Data1Str.

Дополнительные сведения об этом событии см. в статье 219 - ServiceException (https://go.microsoft.com/fwlink/?LinkId=187230).

  2012-03-05