25.4.4 Предварительное фильтрование по инструменту
Таблица setup_instruments перечисляет доступные инструменты:
mysql> SELECT * FROM performance_schema.setup_instruments;
+---------------------------------------------------+---------+-------+
| NAME | ENABLED | TIMED |
+---------------------------------------------------+---------+-------+
...
| stage/sql/end | NO | NO |
| stage/sql/executing | NO | NO |
| stage/sql/init | NO | NO |
| stage/sql/insert | NO | NO |
...
| statement/sql/load | YES | YES |
| statement/sql/grant | YES | YES |
| statement/sql/check | YES | YES |
| statement/sql/flush | YES | YES |
...
| 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 |
...
Чтобы управлять включением инструмента, установите его столбец ENABLED в значение YES или NO. Чтобы настроить сбор временных данных для включённого инструмента, установите его значение TIMED в YES или NO. Установка столбца TIMED влияет на содержимое таблиц Performance Schema, как описано в разделе 25.4.1 «Временные метки событий Performance Schema».
Изменения в большинстве строк таблицы setup_instruments влияют на мониторинг немедленно. Для некоторых инструментов изменения вступают в силу только при запуске сервера; изменение их во время работы не имеет эффекта. Это главным образом относится к мьютексам, условиям и rwlocks на сервере, хотя могут быть и другие инструменты, для которых это верно.
Таблица setup_instruments предоставляет наиболее базовый способ управления производством событий. Для дальнейшей детализации производства событий на основе типа отслеживаемого объекта или потока могут использоваться другие таблицы, как описано в разделе 25.4.3 «Предварительное фильтрование событий».
Следующие примеры демонстрируют возможные операции с таблицей setup_instruments. Эти изменения, как и другие операции предварительного фильтрации, влияют на всех пользователей. Некоторые из этих запросов используют оператор LIKE и сопоставление по шаблону с именами инструментов. Дополнительную информацию о задании шаблонов для выбора инструментов см. в разделе 25.4.9 «Именование инструментов или потребителей для операций фильтрации».
-
Отключить все инструменты:
UPDATE performance_schema.setup_instruments SET ENABLED = 'NO';
Теперь события не собираются.
-
Отключить все инструменты файлов, добавив их в текущий набор отключенных инструментов:
UPDATE performance_schema.setup_instruments SET ENABLED = 'NO' WHERE NAME LIKE 'wait/io/file/%';
-
Отключить только инструменты файлов, включить все остальные инструменты:
UPDATE performance_schema.setup_instruments SET ENABLED = IF(NAME LIKE 'wait/io/file/%', 'NO', 'YES');
-
Включить все, кроме инструментов в библиотеке
mysys:UPDATE performance_schema.setup_instruments SET ENABLED = CASE WHEN NAME LIKE '%/mysys/%' THEN 'YES' ELSE 'NO' END;
-
Отключить определённый инструмент:
UPDATE performance_schema.setup_instruments SET ENABLED = 'NO' WHERE NAME = 'wait/synch/mutex/mysys/TMPDIR_mutex';
-
Чтобы переключить состояние инструмента, “перевернуть” его значение
ENABLED:UPDATE performance_schema.setup_instruments SET ENABLED = IF(ENABLED = 'YES', 'NO', 'YES') WHERE NAME = 'wait/synch/mutex/mysys/TMPDIR_mutex';
-
Отключить тайминги для всех событий:
UPDATE performance_schema.setup_instruments SET TIMED = 'NO';
© 2025 Oracle
Licensed under the GPLv2 License.