パフォーマンススキーマセットアップテーブルには、モニタリング構成に関する情報が含まれます。
mysql> SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
-> WHERE TABLE_SCHEMA = 'performance_schema'
-> AND TABLE_NAME LIKE 'setup%';
+-------------------+
| TABLE_NAME |
+-------------------+
| setup_actors |
| setup_consumers |
| setup_instruments |
| setup_objects |
| setup_timers |
+-------------------+
これらのテーブルの内容を調査して、パフォーマンススキーマのモニタリング特性に関する情報を取得できます。UPDATE
権限を持っている場合は、セットアップテーブルを変更して、モニタリングが行われる方法に影響するパフォーマンススキーマ操作を変更できます。これらのテーブルの追加の詳細については、セクション22.9.2「パフォーマンススキーマセットアップテーブル」を参照してください。
選択されているイベントタイマーを表示するには、setup_timers
テーブルをクエリーします。
mysql> SELECT * FROM setup_timers;
+-----------+-------------+
| NAME | TIMER_NAME |
+-----------+-------------+
| idle | MICROSECOND |
| wait | CYCLE |
| stage | NANOSECOND |
| statement | NANOSECOND |
+-----------+-------------+
NAME
値はタイマーが適用されるインストゥルメントの種類を示し、TIMER_NAME
はそれらのインストゥルメントに適用されるタイマーを示します。タイマーは、名前が NAME
値に一致するコンポーネントから始まるインストゥルメントに適用されます。
タイマーを変更するには、NAME
値を更新します。たとえば、wait
タイマーに NANOSECOND
タイマーを使用するには:
mysql> UPDATE setup_timers SET TIMER_NAME = 'NANOSECOND'
-> WHERE NAME = 'wait';
mysql> SELECT * FROM setup_timers;
+-----------+-------------+
| NAME | TIMER_NAME |
+-----------+-------------+
| idle | MICROSECOND |
| wait | NANOSECOND |
| stage | NANOSECOND |
| statement | NANOSECOND |
+-----------+-------------+
タイマーの説明については、セクション22.2.3.1「パフォーマンススキーマイベントタイミング」を参照してください。
setup_instruments
および setup_consumers
テーブルは、イベントを収集できるインストゥルメントと、イベント情報が実際に収集されるコンシューマの種類をそれぞれ一覧表示します。その他のセットアップテーブルにより、モニタリング構成をさらに変更できます。セクション22.2.3.2「パフォーマンススキーマイベントフィルタリング」では、イベントコレクションに影響するように、これらのテーブルをどのように変更できるかについて説明しています。
実行時に SQL ステートメントを使用して行う必要があるパフォーマンススキーマ構成の変更があり、これらの変更をサーバーが起動するたびに有効になるようにする場合、ファイルにステートメントを入れ、--init-file=
オプションを使用してサーバーを起動します。この戦略は、簡易サーバーヘルスモニタリング、インシデント調査、アプリケーション動作のトラブルシューティングなど、さまざまな種類のモニタリングを生成するようにそれぞれカスタマイズされている複数のモニタリング構成がある場合にも役に立つ可能性があります。各モニタリング構成のステートメントをそれらの固有のファイルに入れ、サーバーの起動時に file_name
--init-file
引数として、該当するファイルを指定します。