MySQL 8.4 Release Notes
29.4.10 确定检测的内容
总是可以通过检查setup_instruments
表来确定性能模式中包含哪些仪器。例如,要查看对于InnoDB
存储引擎的文件相关事件是否被instrumented,可以使用以下查询:
mysql> SELECT NAME, ENABLED, TIMED
FROM performance_schema.setup_instruments
WHERE NAME LIKE 'wait/io/file/innodb/%';
+-------------------------------------------------+---------+-------+
| NAME | ENABLED | TIMED |
+-------------------------------------------------+---------+-------+
| wait/io/file/innodb/innodb_tablespace_open_file | YES | YES |
| wait/io/file/innodb/innodb_data_file | YES | YES |
| wait/io/file/innodb/innodb_log_file | YES | YES |
| wait/io/file/innodb/innodb_temp_file | YES | YES |
| wait/io/file/innodb/innodb_arch_file | YES | YES |
| wait/io/file/innodb/innodb_clone_file | YES | YES |
+-------------------------------------------------+---------+-------+
对性能模式中包含哪些仪器有一个详尽描述并没有在这份文档中给出,原因有几个:
-
被instrumented的是服务器代码。这个代码经常发生变化,这也会影响到仪器的集合。
-
列出所有的仪器是不切实际的,因为数量有着数百个。
-
如前所述,可以通过查询
setup_instruments
表来找到信息。这份信息对于你的MySQL版本总是最新的,还包括你可能安装的但不是核心服务器的一些插件的instrumentation,可以被自动化工具使用。