データベース イベント マッピングの監視
このトピックでは、監視データベースのステージング テーブルからイベント ビューへのフィールドのマッピングについて、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> が入ります。 name
と value
は 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