setup_instruments
テーブルは、イベントを収集できるインストゥルメントされたオブジェクトのクラスを一覧表示します。
mysql> SELECT * FROM setup_instruments;
+------------------------------------------------------------+---------+-------+
| NAME | ENABLED | TIMED |
+------------------------------------------------------------+---------+-------+
...
| wait/synch/mutex/sql/LOCK_global_read_lock | YES | YES |
| wait/synch/mutex/sql/LOCK_global_system_variables | YES | YES |
| wait/synch/mutex/sql/LOCK_lock_db | YES | YES |
| wait/synch/mutex/sql/LOCK_manager | YES | YES |
...
| wait/synch/rwlock/sql/LOCK_grant | YES | YES |
| wait/synch/rwlock/sql/LOGGER::LOCK_logger | YES | YES |
| wait/synch/rwlock/sql/LOCK_sys_init_connect | YES | YES |
| wait/synch/rwlock/sql/LOCK_sys_init_slave | YES | YES |
...
| wait/io/file/sql/binlog | YES | YES |
| wait/io/file/sql/binlog_index | YES | YES |
| wait/io/file/sql/casetest | YES | YES |
| wait/io/file/sql/dbopt | YES | YES |
...
ソースコードに追加された各インストゥルメントは、インストゥルメントされたコードが実行されない場合でもこのテーブルの行を提供します。インストゥルメントが有効にされており、実行されると、*_instances
テーブルに表示されるインストゥルメントされたインスタンスが作成されます。
setup_instruments
テーブルへの変更はただちにモニタリングに影響します。
イベントフィルタリングにおける setup_instruments
テーブルの役割の詳細については、セクション22.2.3.3「イベントの事前フィルタリング」を参照してください。
setup_instruments
テーブルにはこれらのカラムがあります。
-
NAME
インストゥルメント名。セクション22.4「パフォーマンススキーマインストゥルメント命名規則」に説明するように、インストゥルメント名には複数の部分があり、階層を形成することがあります。インストゥルメントの実行から生成されるイベントには、インストゥルメント
NAME
値から取得されるEVENT_NAME
値があります。(イベントには実際には「名前」がありませんが、これによって、イベントをインストゥルメントに関連付ける方法を提供します。) -
ENABLED
インストゥルメントが有効にされているかどうか。このカラムは変更できます。無効にされたインストゥルメントはイベントを生成しません。
-
TIMED
インストゥルメントの時間が測定されるかどうか。このカラムは変更できます。
有効にされたインストゥルメントの時間が測定されない場合、インストゥルメントコードは有効ですが、タイマーは有効ではありません。インストゥルメントによって生成されたイベントの
TIMER_START
、TIMER_END
、およびTIMER_WAIT
タイマー値がNULL
になります。これによって、サマリーテーブルの合計、最小、最大、および平均の時間値の計算時に、それらの値が無視されます。