25.4.8 Примеры конфигураций потребителей
Настройки потребителей в таблице таблице setup_consumers образуют иерархию от верхних уровней к нижним. Следующее обсуждение описывает, как работают потребители, демонстрируя конкретные конфигурации и их эффекты по мере поэтапного включения настроек потребителей сверху вниз. Показанные значения потребителей являются характерными. Общие принципы, описанные здесь, применяются и к другим значениям потребителей, которые могут быть доступны.
Описания конфигураций приведены в порядке возрастания функциональности и накладных расходов. Если вам не нужна информация, предоставляемая включением настроек более низкого уровня, отключите их, и Performance Schema выполнит меньше кода от вашего имени, и у вас будет меньше информации для анализа.
Таблица setup_consumers содержит следующую иерархию значений:
global_instrumentation
thread_instrumentation
events_waits_current
events_waits_history
events_waits_history_long
events_stages_current
events_stages_history
events_stages_history_long
events_statements_current
events_statements_history
events_statements_history_long
events_transactions_current
events_transactions_history
events_transactions_history_long
statements_digest
В иерархии потребителей потребители для ожиданий, этапов, заявлений и транзакций находятся на одном уровне. Это отличается от иерархии вложенности событий, в которой события ожидания вложены в события этапов, которые вложены в события заявлений, которые вложены в события транзакций.
Если заданное свойство потребителя является NO, то Performance Schema отключает связанную с потребителем инструментацию и игнорирует все настройки более низкого уровня. Если заданное свойство является YES, Performance Schema включает связанную с ним инструментацию и проверяет настройки на следующем ниже уровне. Для описания правил для каждого потребителя см. Раздел 25.4.7, «Предварительный фильтр по потребителю».
Например, если global_instrumentation включено, проверяется thread_instrumentation. Если thread_instrumentation включено, проверяются потребители events_. Если из этих xxx_currentevents_waits_current включено, проверяются events_waits_history и events_waits_history_long.
Каждое из следующих описаний конфигурации указывает, какие элементы настройки проверяет Performance Schema и какие выходные таблицы он поддерживает (то есть, для каких таблиц он собирает информацию).
Отсутствует инструментация
Состояние конфигурации сервера:
mysql> SELECT * FROM performance_schema.setup_consumers;
+---------------------------+---------+
| NAME | ENABLED |
+---------------------------+---------+
| global_instrumentation | NO |
...
+---------------------------+---------+
В этой конфигурации ничего не инструментализируется.
Проверяемые элементы настройки:
Таблица
setup_consumers, потребительglobal_instrumentation
Поддерживаемые выходные таблицы:
Нет
Только глобальная инструментация
Состояние конфигурации сервера:
mysql> SELECT * FROM performance_schema.setup_consumers;
+---------------------------+---------+
| NAME | ENABLED |
+---------------------------+---------+
| global_instrumentation | YES |
| thread_instrumentation | NO |
...
+---------------------------+---------+
В этой конфигурации инструментация поддерживается только для глобальных состояний. Инструментация на уровне потоков отключена.
Дополнительные элементы настройки, проверяемые по сравнению с предыдущей конфигурацией:
Таблица
setup_consumers, потребительthread_instrumentationТаблица
setup_instrumentsТаблица
setup_objectsТаблица
setup_timers
Дополнительные выходные таблицы, поддерживаемые по сравнению с предыдущей конфигурацией:
Только глобальная и потоковая инструментация
Состояние конфигурации сервера:
mysql> SELECT * FROM performance_schema.setup_consumers;
+----------------------------------+---------+
| NAME | ENABLED |
+----------------------------------+---------+
| global_instrumentation | YES |
| thread_instrumentation | YES |
| events_waits_current | NO |
...
| events_stages_current | NO |
...
| events_statements_current | NO |
...
| events_transactions_current | NO |
...
+----------------------------------+---------+
В этой конфигурации инструментация поддерживается глобально и в каждом потоке. Отдельные события не собираются в таблицах current-events или event-history.
Дополнительные элементы конфигурации, проверяемые относительно предыдущей конфигурации:
Таблица
setup_consumers, потребителиevents_, гдеxxx_currentxxxравноwaits,stages,statements,transactionsТаблица
setup_actorsСтолбец
threads.instrumented
Дополнительные таблицы вывода, поддерживаемые относительно предыдущей конфигурации:
events_, гдеxxx_summary_by_yyy_by_event_namexxxравноwaits,stages,statements,transactions; иyyyравноthread,user,host,account
Глобальная, потоковая и инструментация текущих событий
Состояние конфигурации сервера:
mysql> SELECT * FROM performance_schema.setup_consumers;
+----------------------------------+---------+
| NAME | ENABLED |
+----------------------------------+---------+
| global_instrumentation | YES |
| thread_instrumentation | YES |
| events_waits_current | YES |
| events_waits_history | NO |
| events_waits_history_long | NO |
| events_stages_current | YES |
| events_stages_history | NO |
| events_stages_history_long | NO |
| events_statements_current | YES |
| events_statements_history | NO |
| events_statements_history_long | NO |
| events_transactions_current | YES |
| events_transactions_history | NO |
| events_transactions_history_long | NO |
...
+----------------------------------+---------+
В этой конфигурации инструментация поддерживается глобально и в каждом потоке. Индивидуальные события собираются в таблице current-events, но не в таблицах event-history.
Дополнительные элементы конфигурации, проверяемые относительно предыдущей конфигурации:
Потребители
events_, гдеxxx_historyxxxравноwaits,stages,statements,transactionsПотребители
events_, гдеxxx_history_longxxxравноwaits,stages,statements,transactions
Дополнительные таблицы вывода, поддерживаемые относительно предыдущей конфигурации:
events_, гдеxxx_currentxxxравноwaits,stages,statements,transactions
Глобальная, потоковая, текущих событий и инструментация истории событий
Предыдущая конфигурация не собирает историю событий, потому что потребители events_ и xxx_historyevents_ отключены. Эти потребители могут быть включены по отдельности или вместе для сбора истории событий в каждом потоке, глобально или в обоих случаях. xxx_history_long
Эта конфигурация собирает историю событий по потокам, но не глобально:
mysql> SELECT * FROM performance_schema.setup_consumers;
+----------------------------------+---------+
| NAME | ENABLED |
+----------------------------------+---------+
| global_instrumentation | YES |
| thread_instrumentation | YES |
| events_waits_current | YES |
| events_waits_history | YES |
| events_waits_history_long | NO |
| events_stages_current | YES |
| events_stages_history | YES |
| 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_, гдеxxx_historyxxxравноwaits,stages,statements,transactions
Эта конфигурация собирает историю событий глобально, но не по потокам:
mysql> SELECT * FROM performance_schema.setup_consumers;
+----------------------------------+---------+
| NAME | ENABLED |
+----------------------------------+---------+
| global_instrumentation | YES |
| thread_instrumentation | YES |
| events_waits_current | YES |
| events_waits_history | NO |
| events_waits_history_long | YES |
| events_stages_current | YES |
| events_stages_history | NO |
| events_stages_history_long | YES |
| events_statements_current | YES |
| events_statements_history | NO |
| events_statements_history_long | YES |
| events_transactions_current | YES |
| events_transactions_history | NO |
| events_transactions_history_long | YES |
...
+----------------------------------+---------+
Таблицы истории событий, поддерживаемые для этой конфигурации:
events_, гдеxxx_history_longxxxравноwaits,stages,statements,transactions
Эта конфигурация собирает историю событий по потокам и глобально:
mysql> SELECT * FROM performance_schema.setup_consumers;
+----------------------------------+---------+
| NAME | ENABLED |
+----------------------------------+---------+
| global_instrumentation | YES |
| thread_instrumentation | YES |
| events_waits_current | YES |
| events_waits_history | YES |
| events_waits_history_long | YES |
| events_stages_current | YES |
| events_stages_history | YES |
| events_stages_history_long | YES |
| events_statements_current | YES |
| events_statements_history | YES |
| events_statements_history_long | YES |
| events_transactions_current | YES |
| events_transactions_history | YES |
| events_transactions_history_long | YES |
...
+----------------------------------+---------+
Таблицы истории событий, поддерживаемые для этой конфигурации:
events_, гдеxxx_historyxxxравноwaits,stages,statements,transactionsevents_, гдеxxx_history_longxxxравноwaits,stages,statements,transactions
© 2025 Oracle
Licensed under the GPLv2 License.