データベース イベント マッピングの監視

このトピックでは、監視データベースのステージング テーブルからイベント ビューへのフィールドのマッピングについて、Windows Workflow Foundation (WF)ランタイムによって生成されるイベントの種類ごとに説明します。 Windows Server AppFabricで使用する SQL 以外の監視データベースを構成するときに、この情報が必要です。 SQL Server データベースを使用する場合、ビューとステージング テーブルはすべて、AppFabric 構成プロセスによって作成されます。 ただし、SQL Server 以外のデータベース実装では、これらのビューとステージング テーブルは手動で作成する必要があります。 AppFabric で管理される WCF または WF でイベントが発生すると、イベント コレクション サービス により、そのイベントに対応する行が監視データベースの ASStagingTable テーブルに書き込まれます。 そのデータを AppFabric ダッシュボードで表示できるように、対応するビューにマップする必要があります。 このマッピングを行うには、ステージング テーブルのデータを、監視ビューをサポートするテーブルに取得する任意のメカニズムを選択して使用します。 たとえば、データベース トリガーやジョブを使用することが考えられます。

このドキュメントで説明するイベントとビューのマッピングは、ほんの一部です。 すべてのイベントとそれに関連するマッピングについては、AppFabric データベース イベント マッピングをダウンロードしてください。 このマッピング プロセスの詳細については、「操作方法: SQL Server 以外の監視データベースの使用」および「監視データベースのビューおよびテーブル」を参照してください。

すべてのイベントの共通マッピング

ASStagingTable テーブル

すべてのイベントにより ASStagingTable テーブルの次のフィールドが表示されます。

ASStagingTable の列 イベント データ

EventTypeId

生成されたイベントの ID

E2EActivityId

このイベントで生成されたエンド ツー エンド アクティビティ ID

Computer

イベントが生成されたコンピューター名

EventSource

このイベントの仮想パス

ProcessId

プロセス ID

TraceLevelId

生成されたイベントのトレース レベル

TimeCreated

このイベントの作成時刻

ASEventSources ビュー

ほとんどすべてのイベントにより ASEventSources ビューが表示されます (イベント ID 499 は例外です)。

列名 データのソース

ID

イベント ソースの ID。 イベント ソースの詳細を取得するため、他のビューで使用されます。

Name

ASStagingTable の EventSource 列から抽出されたサービスの名前。

Computer

ASStagingTable の Computer にマップされます。

Site

ASStagingTable の EventSource 列から抽出されたサイトの名前。

VirtualPath

ASStagingTable の EventSource 列から抽出された VirtualPath 全体の名前。

ApplicationVirtualPath

ASStagingTable の EventSource 列から抽出されたアプリケーション仮想パスの名前。

ServiceVirtualPath

ASStagingTable の EventSource 列から抽出されたサービス仮想パスの名前。

ASEvents ビュー

ほとんどすべてのイベントにより ASEvents ビューが表示されます (イベント ID 499 は例外です)。

列名 データのソース

EventTypeId

ASStagingTable.EventTypeId にマップされた EventTypeId。

EventName

イベントの名前。

EventVersion

イベントのバージョン。 現在 0 です。

EventSourceID

ASEventSources ビューのイベント ソースの ID にマップされます。

ProcessId

ASStagingTable.ProcessId にマップされます。

TraceLevelId

ASStagingTable.TraceLevelID にマップされます。

TraceLevel

TraceLevelId の文字列表現。

E2EActivityId

ASStagingTable.E2EActivityId にマップされます。

TimeCreated

ASStagingTable.TimeCreated にマップされます。

イベント

監視データベースを実装するイベント マッピングを次に示します。

イベント ID 100

共通の列に加え、イベント コレクション サービスではイベント ID 100 で ASStagingTable テーブルの次の列が表示されます。

イベント データ ASStagingTable の列

TypeName

Data1UniqueId

RecordNumber

Data1BigInt

ActivityRootId

Data3Str

State

Data2Str

Tracking Profile Name

Data1Str

Annotations

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> が入ります。 namevalue は ASStagingTable.CustomAnnotations の列に保存された値を解析して抽出されます。

ビュー: ASWfTrackingProfiles

列名 表示されるデータ

Id

追跡プロファイルの一意の ID。

Name

ASStagingTable-> Column ASStagingTable.Data1Str にマップされます。

ビュー: ASWfEvents

このビューでは、このイベントで表示される列のみ指定されます。 他のすべての列には NULL 値が入ります。 特にイベントで表示される値は太字で示されています。 このビューは、WF インスタンスに対して生成された追跡イベントについて作成されます。

列名 表示されるデータ

Id

生成された一意の ID。

EventTypeId

100 (マップ先: ASStagingTable-> Column EventTypeId)

EventType

"WorkflowInstanceRecord"

EventVersion

0

EventSourceId

ASEventSources ビューの ID

ProcessId

ASStagingTable-> Column: ASStagingTable.ProcessId にマップされます。

WorkflowInstanceId

ASStagingTable-> Column: ASStagingTable.Data1UniqueId にマップされます。

TrackingProfileId

ASWfTrackingProfiles ビューの ID 列にマップされる追跡プロファイルの一意の ID。 この値と ASWfTrackingProfiles は 1 回のトランザクションで更新されます。

E2EActivityId

ASStagingTable-> Column: ASStagingTable.E2EActivityId にマップされます。

TraceLevelId

ASStagingTable-> Column: ASStagingTable.TraceLevelId にマップされます。

TraceLevel

TraceLevelId に依存: 0: "LogAlways" (常に記録)、1: "Critical" (重大)、2: "Error" (エラー)、3: "Warning" (警告)、4: "Information" (情報)、5: "Verbose" (詳細)。

RecordNumber

ASStagingTable-> Column: ASStagingTable.Data1BigInt にマップされます。

AnnotationSetId

ASWfEventAnnotations ビューの AnnotationSetId 列にマップされる注釈セットの一意の ID。 この値と ASWfEventAnnotations は 1 回のトランザクションで更新されます。

TimeCreated

ASStagingTable-> Column: ASStagingTable.TimeCreated にマップされます。

ActivityRootId

ASStagingTable-> Column: ASStagingTable.Data3Str にマップされます。

State

ASStagingTable-> Column: ASStagingTable.Data2Str にマップされます。

ビュー: ASWfInstances

このビューはアクティブな WF のインスタンスの状態で更新されます。 このビューは同じトランザクション内で ASWfEvents ビューの後に更新されます。 イベントが ASWfEvents ビューに追加されるとき、このビューは ASWfEvents ビューに挿入された値で同時に、つまり同じトランザクションで更新する必要があります。 各ワークフロー インスタンスには 1 行しかありません。 WFEvents テーブルに追加された各イベントでワークフロー インスタンスの行は変更されます。 このテーブルの行は一定条件を満たす場合にのみ追加/更新されます。 ID 100 のイベントで state が "Deleted" か "Unloaded" (ASWfEvents.State) である場合、行はこのテーブルに追加されません。

列名 表示されるデータ

Id

このエントリの一意の ID。

WorkflowInstanceId

ASStagingTable-> Column: ASStagingTable.Data1UniqueId にマップされます。一意のインスタンスに 1 回のみ追加されます。

LastEventSourceId

この行を変更した最後の eventSourceID。 ASWfEvents.EventSourceId にマップされます。

LastEventStatus

ASWfEvents view-> Column: ASWfEvents.State にマップされます。 state が "Deleted" か "Unloaded" に等しくない場合にのみ、挿入/更新されます。 state が "Deleted" か "Unloaded" である場合、このテーブルに行は追加されません。

StartTime

ASWfEvents-> Column: ASWfEvents.TimeCreated にマップされます。 これはワークフロー インスタンスで最も小さい RecordNumber のイベントの TimeCreated です。

LastModifiedTime

ASWfEvents -> Column: ASWfEvents.TimeCreated にマップされます。 状態が変化すると更新されます。 また、この列を更新するため、WorkflowRecord の RecordNumber がこの値を更新した前の RecordNumber より大きいことにも注意してください。 (可能な実装は、変更した ASWfEvents のワークフロー イベント レコードの RecordNumber にこのテーブルのインスタンス ID をマップする一時テーブルを保持することです。 新しいイベントがこのインスタンスの行を更新しようとした場合、RecordNumber が最後に変更された RecordNumber より大きいかどうかを確認します。)

CurrentDuration

実行中ワークフローの継続時間 (LastModifiedTime から StartTime を引いた時間)。

ExceptionCount

WF で発生した例外数。 イベント ID 100 により更新されません。

LastAbortedTime

イベント ID 100 により更新されません。

このイベントの詳細については、「100 - WorkflowInstanceRecord」 (https://go.microsoft.com/fwlink/?LinkId=187224) を参照してください。

イベント ID 103

共通の列に加え、イベント コレクション サービスではイベント ID 103 で ASStagingTable テーブルの次の列が表示されます。

イベント データ ASStagingTable の列

workflowinstanceid

Data1UniqueId

RecordNumber

Data1BigInt

Tracking Profile Name

Data1Str

State

Data2Str

ActivityName

Data3Str

ActivityId

Data4Str

ActivityInstanceId

Data5Str

ActivityTypeName

Data6Str

Annotations

CustomAnnotations

Variables

CustomProperties

Arguments

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 ビューでの ID を示します。

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 イベントから抽出された変数/引数/カスタム プロパティごとに 1 行あります。

列名 表示されるデータ

EventId

ASWfEvents view -> ASWfEvents.Id のイベント ID へのマップは、このデータを生成した WF イベントを示します。

Name

ASStagingTable.CustomArguments または ASStagingTable.CustomProperties の XML を解析して抽出された名前。

WfDataSource

プロパティのソース (引数、変数、またはカスタム データ)。データが ASStagingTable.CustomArguments で表示された場合、値は "Argument" です。 データが ASStagingTable.CustomProperties で表示された場合、値は "Variable" です。

Type

CustomProperties xml の CustomArguments から抽出されたプロパティの型。

Value

型が単純型である場合に CustomProperties xml の CustomArguments から抽出されたプロパティの値。

ValueBlob

型が複合型である場合に CustomProperties xml の CustomArguments から抽出されたプロパティの値。

TimeCreated

ASWfEvents.TimeCreated にマップされた、このプロパティの生成時のタイムスタンプ。

ビュー: ASWfTrackingProfiles

列名 表示されるデータ

Id

追跡プロファイルの一意の ID。

Name

ASStagingTable-> Column ASStagingTable.Data1Str にマップされます。

ビュー: ASWfEvents

このビューでは、このイベントで表示される列のみ指定されます。 他のすべての列には NULL 値が入ります。 特にイベントで表示される値は太字で示されています。 このビューは、WF インスタンスに対して生成された追跡イベントについて作成されます。

列名 表示されるデータ

Id

生成された一意の ID。

EventTypeId

103 (マップ先: ASStagingTable-> Column EventTypeId)

EventType

"ActivityStateRecord"

EventVersion

0

EventSourceId

ASEventSources ビューの ID

ProcessId

ASStagingTable-> Column: ASStagingTable.ProcessId にマップされます。

WorkflowInstanceId

ASStagingTable-> Column: ASStagingTable.Data1UniqueId にマップされます。

TrackingProfileId

ASWfTrackingProfiles ビューの ID 列にマップされる追跡プロファイルの一意の ID。 この値と ASWfTrackingProfiles は 1 回のトランザクションで更新されます。

E2EActivityId

ASStagingTable-> Column: ASStagingTable.E2EActivityId にマップされます。

TraceLevelId

ASStagingTable-> Column: ASStagingTable.TraceLevelId にマップされます。

TraceLevel

TraceLevelId に依存: 0: "LogAlways" (常に記録)、1: "Critical" (重大)、2: "Error" (エラー)、3: "Warning" (警告)、4: "Information" (情報)、5: "Verbose" (詳細)。

RecordNumber

ASStagingTable-> Column: ASStagingTable.Data1BigInt にマップされます。

AnnotationSetId

ASWfEventAnnotations ビューの AnnotationSetId 列にマップされる注釈セットの一意の ID。 この値と ASWfEventAnnotations は 1 回のトランザクションで更新されます。

TimeCreated

ASStagingTable-> Column: ASStagingTable.TimeCreated にマップされます。

ActivityName

ASStagingTable-> Column: ASStagingTable.Data3Str にマップされます。

ActivityId

ASStagingTable-> Column: ASStagingTable.Data4Str にマップされます。

ActivityInstanceId

ASStagingTable-> Column: ASStagingTable.Data5Str にマップされます。

ActivityTypeName

ASStagingTable-> Column: ASStagingTable.Data6Str にマップされます。

State

ASStagingTable-> Column: ASStagingTable.Data2Str にマップされます。

ビュー: ASWfInstances

このビューはアクティブな WF のインスタンスの状態で更新されます。 このビューは同じトランザクション内で ASWfEvents ビューの後に更新されます。 イベントが ASWfEvents ビューに追加されるとき、このビューは ASWfEvents ビューに挿入された値で同時に、つまり同じトランザクションで更新する必要があります。 各ワークフロー インスタンスには 1 行しかありません。 WFEvents テーブルに追加された各イベントでワークフロー インスタンスの行は変更されます。

列名 表示されるデータ

Id

このエントリの一意の ID。

WorkflowInstanceId

ASStagingTable-> Column: ASStagingTable.Data1UniqueId にマップされます。 一意のインスタンスに 1 回のみ追加されます。

LastEventSourceId

この行を変更した最後の eventSourceID。 ASWfEvents.EventSourceId にマップされます。

LastEventStatus

ASWfEvents view-> Column: ASWfEvents.State にマップされます。 state が "Deleted" か "Unloaded" に等しくない場合にのみ、挿入/更新されます。 state が "Deleted" か "Unloaded" である場合、行はこのテーブルに追加されません。イベント 101 の場合、値は "UnhandledException" です。

StartTime

ASWfEvents-> Column: ASWfEvents.TimeCreated にマップされます。 これは ASWfEvents.WorkflowInstanceId で表されるこのワークフロー インスタンスで最も小さい RecordNumber のイベントの TimeCreated です。

LastModifiedTime

ASWfEvents -> Column: ASWfEvents.TimeCreated にマップされます。 状態が変化すると更新されます。 また、この列を更新するため、WorkflowRecord の RecordNumber がこの値を更新した前の RecordNumber より大きいことにも注意してください。 (可能な実装は、変更した ASWfEvents のワークフロー イベント レコードの RecordNumber にこのテーブルのインスタンス ID をマップする一時テーブルを保持することです。 新しいイベントがこのインスタンスの行を更新しようとした場合、RecordNumber が最後に変更された RecordNumber より大きいかどうかを確認します。)

CurrentDuration

実行中ワークフローの継続時間 (LastModifiedTime から StartTime を引いた時間)。

ExceptionCount

WF で発生した例外数。 インスタンス ID ASWfEvents.WorkflowInstanceId により表されるこの WF インスタンスで発生したイベント 101 の数。

LastAbortedTime

ID 101 または 102 のイベントに対する ASWfEvents ビューの最新時刻。ASWfEvents.WorkflowInstanceId により表されるワークフロー インスタンスの場合です。

このイベントの詳細については、「103 - ActivityStateRecord」 (https://go.microsoft.com/fwlink/?LinkId=187226) を参照してください。

イベント ID 214

共通の列に加え、イベント コレクション サービスではイベント ID 214 で ASStagingTable テーブルの次の列が表示されます。

イベント データ ASStagingTable の列

MethodName

Data1Str

Duration

Data1Int

イベント 214 のデータは、 ASEventSources、ASWcfEvents、ASEvents の各ビューに入力されます。 ASStagingTable から共通ビューの ASEventSources と ASEvents へのデータ マッピングは共通マッピングで指定されます。

ビュー: ASWcfEvents

このビューでは、このイベントで表示される列のみ指定されます。 他のすべての列には NULL 値が入ります。 特にイベントで表示される値は太字で示されています。

列名 表示されるデータ

Id

生成された一意の ID。

EventTypeId

214 (マップ先: ASStagingTable-> Column EventTypeId)

EventType

"OperationCompleted"

EventVersion

0

EventSourceId

ASEventSources ビューの ID

ProcessId

ASStagingTable-> Column: ProcessId

TraceLevelId

ASStagingTable-> Column: TraceLevelId

TraceLevel

TraceLevelId に依存: 0: "LogAlways" (常に記録)、1: "Critical" (重大)、2: "Error" (エラー)、3: "Warning" (警告)、4: "Information" (情報)、5: "Verbose" (詳細)。

E2EActivityId

ASStagingTable-> Column: ASStagingTable.E2EActivityId にマップされます。

TimeCreated

ASStagingTable-> Column: ASStagingTable.TimeCreated にマップされます。

OperationName

ASStagingTable-> Column: ASStagingTable.Data1Str にマップされます。

Duration

ASStagingTable-> Column: ASStagingTable.Data1Int にマップされます。

このイベントの詳細については、「214 - OperationCompleted」 (https://go.microsoft.com/fwlink/?LinkId=187225) を参照してください。

イベント ID 219

共通の列に加え、イベント コレクション サービスではイベント ID 214 で ASStagingTable テーブルの次の列が表示されます。

イベント データ ASStagingTable の列

ExceptionTypeName

Data1Str

ExceptionToString

Data1MaxStr

イベント 219 のデータは、 ASEventSources、ASWcfEvents、ASEvents の各ビューに入力されます。 ASStagingTable から共通ビューの ASEventSources と ASEvents へのデータ マッピングは共通マッピングで指定されます。

ビュー: ASWcfEvents

このビューでは、このイベントで表示される列のみ指定されます。 他のすべての列には NULL 値が入ります。 特にイベントで表示される値は太字で示されています。

列名 表示されるデータ

Id

生成された一意の ID。

EventTypeId

219 (マップ先: ASStagingTable-> Column ASStagingTable .EventTypeId)

EventType

"ServiceException"

EventVersion

0

EventSourceId

ASEventSources ビューの ID。 ASWcfEvents のイベントから ASEventSources ビューへのマッピングです。

ProcessId

ASStagingTable-> Column: ASStagingTable.ProcessId にマップされます。

TraceLevelId

ASStagingTable-> Column: ASStagingTable.TraceLevelId にマップされます。

TraceLevel

TraceLevelId に依存: 0: "LogAlways" (常に記録)、1: "Critical" (重大)、2: "Error" (エラー)、3: "Warning" (警告)、4: "Information" (情報)、5: "Verbose" (詳細)。

E2EActivityId

ASStagingTable-> Column: ASStagingTable.E2EActivityId にマップされます。

TimeCreated

ASStagingTable-> Column: ASStagingTable.TimeCreated にマップされます。

ExceptionMessage

ASStagingTable-> Column: ASStagingTable.Data1MaxStr にマップされます。

ExceptionTypeName

ASStagingTable-> Column: ASStagingTable.Data1Str にマップされます。

このイベントの詳細については、「219 - ServiceException」 (https://go.microsoft.com/fwlink/?LinkId=187230) を参照してください。

  2011-12-05