MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む
このページは機械翻訳したものです。
setup_consumers テーブルは使用可能なコンシューマの種類とどれが有効にされているかを一覧表示します。
mysql> SELECT * FROM performance_schema.setup_consumers;
+----------------------------------+---------+
| NAME | ENABLED |
+----------------------------------+---------+
| events_stages_current | NO |
| events_stages_history | NO |
| events_stages_history_long | NO |
| events_statements_current | YES |
| events_statements_history | YES |
| events_statements_history_long | NO |
| events_transactions_current | YES |
| events_transactions_history | YES |
| events_transactions_history_long | NO |
| events_waits_current | NO |
| events_waits_history | NO |
| events_waits_history_long | NO |
| global_instrumentation | YES |
| thread_instrumentation | YES |
| statements_digest | YES |
+----------------------------------+---------+
コンシューマステージで、事前フィルタリングに影響するように、setup_consumers テーブルを変更し、イベントの送信先を決定します。 コンシューマを有効または無効にするには、その ENABLED 値を YES または NO に設定します。
setup_consumers テーブルへの変更はただちにモニタリングに影響します。
コンシューマを無効にすると、サーバーはそのコンシューマの宛先の保守に時間を費やさなくなります。 たとえば、履歴イベント情報に関心がない場合、履歴コンシューマを無効にします。
UPDATE performance_schema.setup_consumers SET ENABLED = 'NO' WHERE NAME LIKE '%history%';
setup_consumers テーブル内のコンシューマ設定は、高いレベルから低いレベルまでの階層を形成します。 次の原則が当てはまります。
パフォーマンススキーマがコンシューマをチェックし、コンシューマが有効にされていないかぎり、コンシューマに関連付けられている宛先はイベントを受信しません。
コンシューマは、それが依存するすべてのコンシューマ (ある場合) が有効にされている場合にのみチェックされます。
コンシューマがチェックされていない場合、またはチェックされているが無効にされている場合、それに依存するほかのコンシューマはチェックされません。
依存コンシューマには独自の依存コンシューマがあることがあります。
イベントがどの宛先にも送信されない場合、パフォーマンススキーマはそれを生成しません。
次のリストに、使用可能なコンシューマ値を説明します。 いくつかの代表的なコンシューマ構成とそれらのインストゥルメンテーションへの効果については、セクション27.4.8「コンシューマ構成の例」を参照してください。
global_instrumentation は最高レベルのコンシューマです。 global_instrumentation が NO の場合、それはグローバルインストゥルメンテーションを無効にします。 ほかのすべての設定は低いレベルで、チェックされず、何が設定されているかは重要でありません。 グローバルまたはスレッドごとに情報が保守されず、個々のイベントが現在のイベントまたはイベント履歴テーブルに収集されません。 global_instrumentation が YES の場合、パフォーマンススキーマはグローバル状態の情報を保守し、thread_instrumentation コンシューマもチェックします。
thread_instrumentation は global_instrumentation が YES の場合のみチェックされます。 そうでなければ、thread_instrumentation が NO の場合、スレッド固有のインストゥルメンテーションが無効になり、すべての低レベル設定が無視されます。 スレッドごとに情報が保守されず、個々のイベントが現在のイベントまたはイベント履歴テーブルに収集されません。 thread_instrumentation が YES の場合、パフォーマンススキーマはスレッド固有の情報を保守し、events_ コンシューマもチェックします。
xxx_current
これらのコンシューマには global_instrumentation と thread_instrumentation の両方が YES である必要があり、そうでないと、それらはチェックされません。 チェックされた場合、それらは次のように動作します。
events_waits_currentは NO の場合、events_waits_current テーブル内の個々の待機イベントの収集を無効にします。 YES の場合、待機イベント収集を有効にし、パフォーマンススキーマは events_waits_history および events_waits_history_long コンシューマをチェックします。
events_waits_history は event_waits_current が NO の場合にチェックされません。 そうでない場合、NO または YES の events_waits_history 値は、events_waits_history テーブルへの待機イベントの収集を無効または有効にします。
events_waits_history_long は event_waits_current が NO の場合にチェックされません。 そうでない場合、NO または YES の events_waits_history_long 値は、events_waits_history_long テーブルへの待機イベントの収集を無効または有効にします。
これらのコンシューマには global_instrumentation と thread_instrumentation の両方が YES である必要があり、そうでないと、それらはチェックされません。 チェックされた場合、それらは次のように動作します。
events_stages_currentは、NO の場合に、events_stages_current テーブルへの個々のステージイベントの収集を無効にします。 YES の場合、ステージイベント収集を有効にし、パフォーマンススキーマは events_stages_history および events_stages_history_long コンシューマをチェックします。
events_stages_history は event_stages_current が NO の場合にチェックされません。 そうでない場合、NO または YES の events_stages_history 値は、events_stages_history テーブルへのステージイベントの収集を無効または有効にします。
events_stages_history_long は event_stages_current が NO の場合にチェックされません。 そうでない場合、NO または YES の events_stages_history_long 値は、events_stages_history_long テーブルへのステージイベントの収集を無効または有効にします。
これらのコンシューマには global_instrumentation と thread_instrumentation の両方が YES である必要があり、そうでないと、それらはチェックされません。 チェックされた場合、それらは次のように動作します。
events_statements_currentは NO の場合、events_statements_current テーブルへの個々のステートメントイベントの収集を無効にします。 YES の場合、ステートメントイベント収集を有効にし、パフォーマンススキーマは events_statements_history および events_statements_history_long コンシューマをチェックします。
events_statements_history は events_statements_current が NO の場合にチェックされません。 そうでない場合、NO または YES の events_statements_history 値は、events_statements_history テーブルへのステートメントイベントの収集を無効または有効にします。
events_statements_history_long は events_statements_current が NO の場合にチェックされません。 そうでない場合、NO または YES の events_statements_history_long 値は、events_statements_history_long テーブルへのステートメントイベントの収集を無効または有効にします。
これらのコンシューマには global_instrumentation と thread_instrumentation の両方が YES である必要があり、そうでないと、それらはチェックされません。 チェックされた場合、それらは次のように動作します。
events_transactions_current は、NO の場合、events_transactions_current テーブル内の個々のトランザクションイベントの収集を無効にします。 YES の場合は、トランザクションイベント収集が有効になり、パフォーマンススキーマによって events_transactions_history および events_transactions_history_long コンシューマがチェックされます。
events_transactions_current が NO の場合、events_transactions_history はチェックされません。 それ以外の場合、NO または YES の events_transactions_history 値は、events_transactions_history テーブルでのトランザクションイベントの収集を無効または有効にします。
events_transactions_current が NO の場合、events_transactions_history_long はチェックされません。 それ以外の場合、NO または YES の events_transactions_history_long 値は、events_transactions_history_long テーブルでのトランザクションイベントの収集を無効または有効にします。
statements_digest コンシューマでは、global_instrumentation が YES である必要があります。そうでない場合は、チェックされません。 ステートメントイベントコンシューマへの依存関係がないため、events_statements_current に統計を収集する必要なく、ダイジェストごとに統計を取得することができ、これはオーバーヘッドの点で有利です。 逆に、ダイジェストなしで events_statements_current の詳細なステートメントを取得できます (この場合、DIGEST および DIGEST_TEXT のカラムは NULL です)。
ステートメントダイジェストの詳細については、セクション27.10「パフォーマンススキーマのステートメントダイジェストとサンプリング」を参照してください。