29.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 включает связанную с ней инструментацию и проверяет настройки следующего более низкого уровня. Для описания правил для каждого потребителя см. Раздел 29.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
Дополнительные выходные таблицы, поддерживаемые относительно предыдущей конфигурации:
Глобальная и потоковая инструментировка только
Состояние конфигурации сервера:
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 |
...
+----------------------------------+---------+
В этой конфигурации инструментирование поддерживается глобально и на уровне потоков. Индивидуальные события не собираются в таблицах текущих событий или истории событий.
Дополнительные элементы настройки, проверенные относительно предыдущей конфигурации:
Таблица
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 |
...
+----------------------------------+---------+
В этой конфигурации инструменты поддерживаются глобально и по потокам. Отдельные события собираются в таблице текущих событий, но не в таблицах истории событий.
Дополнительные элементы настройки, проверенные по отношению к предыдущей конфигурации:
Потребители
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.