イベント・モニター自己記述型データ・ストリーム
パイプまたはファイルに書き込むイベント・モニターは、論理データ・グループのバイナリー・ストリームを生成します。
その論理データ・グループは、パイプ・イベント・モニターでもファイル・イベント・モニターでも同じです。
データ・ストリームのフォーマットは、db2evmon コマンドを使用するか、
またはクライアント・アプリケーションを開発することによって行えます。
このデータ・ストリームは、自己記述型フォーマットで表示されます。
図 1 では、データ・ストリームの構造を示し、
表 1 では、
戻される論理データ・グループおよびモニター・エレメントのいくつかの例を示します。
注: これらの例や表では、ID として記述名を使用しています。
これらの名前は、
実際のデータ・ストリームでは SQLM_ELM_ という接頭部が付きます。
例えば db_event は、イベント・モニター出力では SQLM_ELM_DB_EVENT と表示されます。
タイプは、実際のデータ・ストリームでは SQLM_TYPE_ という接頭部が付きます。
例えば、ヘッダーはデータ・ストリームで SQLM_TYPE_HEADER と表示されます。

- sqlm_event_log_data_stream_header の構造は、
データ・ストリーム内のほかのヘッダーとは異なります。
バージョン・フィールドにより、出力を自己記述型データ・ストリームとして処理できるかどうかが決まります。
このヘッダーのサイズとタイプは、 バージョン 6 以前のイベント・モニター・ストリームと同じです。 これにより、アプリケーションは、 イベント・モニター出力が自己記述型か、バージョン 6 より前の静的形式かを判別できます。注: このモニター・エレメントは、データ・ストリームから sizeof(sqlm_event_log_data_stream) のバイトを読み取ることにより抽出されます。
- 各論理データ・グループは、サイズとエレメント名を示すヘッダーで始まります。 これは、 event_log_stream_header にはあてはまりません。 そのサイズ・エレメントには、逆方向互換性を保持するためのダミー値が含まれるからです。
- ヘッダーのサイズ・エレメントは、 論理データ・グループのデータ全体のサイズを示します。
- モニター・エレメント情報が、論理データ・グループ・ヘッダーに続きます。 これも自己記述型です。
| 論理データ・グループ | データ・ストリーム | 説明 | |
|---|---|---|---|
| event_log_stream_header | ┬►sqlm_little_endian | 使用されない (以前のリリースとの互換性のため)。 | |
| ├►200 | 使用されない (以前のリリースとの互換性のため)。 | ||
| └►sqlm_dbmon_version9 | データを戻したデータベース・マネージャーのバージョン。イベント・モニターは自己記述型フォーマットでデータを書き込む。 | ||
| log_header_event | ┬►100 | 論理データ・グループのサイズ。 | |
| ├►header | 論理データ・グループが始まることを示す。 | ||
| ├►log_header | 論理データ・グループの名前。 | ||
| ├ | ─►4 | このモニター・エレメントに保管されるデータのサイズ | |
| │ | ├►u32bit | モニター・エレメント・タイプ - 32 ビット数値。 | |
| │ | ├►byte_order | 収集されたモニター・エレメントの名前。 | |
| │ | └►little_endian | このエレメントに対して収集された値。 | |
| └ | ┬►2 | このモニター・エレメントに保管されるデータのサイズ | |
| ├►u16bit | モニター・エレメント・タイプ - 符号なし 16 ビット数値。 | ||
| ├►codepage_id | 収集されたモニター・エレメントの名前。 | ||
| └►850 | このエレメントに対して収集された値。 | ||
| db_event | ┬►100 | 論理データ・グループのサイズ。 | |
| ├►header | 論理データ・グループが始まることを示す。 | ||
| ├►db_event | 論理データ・グループの名前。 | ||
| └ | ─►4 | このモニター・エレメントに保管されるデータのサイズ | |
| ├►u32bit | モニター・エレメント・タイプ - 符号なし 32 ビット数値。 | ||
| ├►lock_waits | 収集されたモニター・エレメントの名前。 | ||
| └►2 | このエレメントに対して収集された値。 | ||
event_log_stream_header は、 データを戻したデータベース・マネージャーのバージョンを示します。 イベント・モニターは自己記述型フォーマットでデータを書き込みます。スナップショット・モニターと違って、 イベント・モニターにはトレースの合計サイズを戻す size エレメントがありません。 event_log_stream_header に示された数値は、 逆方向互換性のために示されたダミー値です。 イベント・トレースの合計サイズは、 event_log_stream_header が書き込まれるときには不明です。 通常は、ファイルまたはパイプの終わりに達するまで、 イベント・モニター・トレースを読み取ることになります。
ログ・ヘッダーではトレースの特性を記述します。 これには、トレースが収集されたサーバーのメモリー・モデル (例えばリトル・エンディアン)、 およびデータベースのコード・ページなどの情報が含まれています。 トレースを読み取るシステムのメモリー・モデルがサーバーとは異なる場合 (例えば、Windows 2000 システム上の UNIX サーバーからトレースを読み取る場合)、数値に関してバイトのスワッピングを行う必要があります。 データベースが、トレースを読み取るマシンとは異なる言語で構成されている場合、 コード・ページ変換を行う必要が生じることもあります。 トレースを読み取っているとき、 size エレメントを使用して、 トレース内の論理データ・グループを読み飛ばせます。