Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

29.4.4 按仪器预过滤

setup_instruments 表列出了可用的仪器:

mysql> SELECT NAME, ENABLED, TIMED
       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 列设置为 YESNO。要配置是否收集启用仪器的计时信息,请将其 TIMED 值设置为 YESNO。设置 TIMED 列会影响性能模式表的内容,如 第 29.4.1 节,“性能模式事件计时”所述。

对大多数 setup_instruments 行的修改将立即影响监控。对于一些仪器,修改只有在服务器启动时生效,在运行时修改无效。这主要影响服务器中的互斥锁、条件和读写锁,尽管可能还有其他仪器受到这种影响。

setup_instruments 表提供了对事件生产的基本控制。要根据监控的对象或线程类型进一步细化事件生产,可以使用其他表,如 第 29.4.3 节,“事件预过滤”所述。

以下示例演示了对 setup_instruments 表的可能操作。这些更改,如其他预过滤操作,对所有用户都有效。一些查询使用 LIKE 运算符和模式匹配仪器名称。有关指定模式以选择仪器的更多信息,请参阅 第 29.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';
  • 要切换仪器的状态,请 flipENABLED 值:

    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';