ps_setup_show_enabled() - xiaoboluo768/mysql-system-schema GitHub Wiki
-
显示当前启用的performance配置(所有配置表),通过查询setup_actors表enabled为YES、setup_objects表enabled为YES、setup_consumers表enabled为YES、threads表INSTRUMENTED为YES、setup_instruments表enabled为YES实现,其中,调用时传递的两个布尔型值,第一个为控制是否打印setup_instruments表中启用的配置,第二个控制是否打印threads表启用的配置,因为这俩表打印的信息最多,所以需要单独传值控制
-
参数:
- in_show_instruments BOOLEAN:是否显示启用的instruments,返回的instruments启用状态列表可能比较长
- in_show_threads BOOLEAN:是否显示启用监控功能的线程
-
定义语句
DROP PROCEDURE IF EXISTS ps_setup_show_enabled;
DELIMITER $$
CREATE DEFINER='root'@'localhost' PROCEDURE ps_setup_show_enabled (
IN in_show_instruments BOOLEAN,
IN in_show_threads BOOLEAN
)
COMMENT '
Description
-----------
Shows all currently enabled Performance Schema configuration.
Parameters
-----------
in_show_instruments (BOOLEAN):
Whether to print enabled instruments (can print many items)
in_show_threads (BOOLEAN):
Whether to print enabled threads
Example
-----------
mysql> CALL sys.ps_setup_show_enabled(TRUE, TRUE);
+----------------------------+
| performance_schema_enabled |
+----------------------------+
| 1 |
+----------------------------+
1 row in set (0.00 sec)
......
+-------------------------------------+-------+
| enabled_instruments | timed |
+-------------------------------------+-------+
| wait/io/file/sql/map | YES |
| wait/io/file/sql/binlog | YES |
...
| statement/com/Error | YES |
| statement/com/ | YES |
| idle | YES |
+-------------------------------------+-------+
210 rows in set (0.08 sec)
Query OK, 0 rows affected (0.89 sec)
'
SQL SECURITY INVOKER
DETERMINISTIC
READS SQL DATA
BEGIN
SELECT @@performance_schema AS performance_schema_enabled;
-- In 5.7.6 and later the setup_actors table has an ENABLED column to
-- specify whether the actor is enabled. Before that all actors matched
-- in the setup_actors table were enabled.
SELECT CONCAT('\'', user, '\'@\'', host, '\'') AS enabled_users
FROM performance_schema.setup_actors
/*!50706 WHERE enabled = 'YES' */
ORDER BY enabled_users;
SELECT object_type,
CONCAT(object_schema, '.', object_name) AS objects,
enabled,
timed
FROM performance_schema.setup_objects
WHERE enabled = 'YES'
ORDER BY object_type, objects;
SELECT name AS enabled_consumers
FROM performance_schema.setup_consumers
WHERE enabled = 'YES'
ORDER BY enabled_consumers;
IF (in_show_threads) THEN
SELECT IF(name = 'thread/sql/one_connection',
CONCAT(processlist_user, '@', processlist_host),
REPLACE(name, 'thread/', '')) AS enabled_threads,
TYPE AS thread_type
FROM performance_schema.threads
WHERE INSTRUMENTED = 'YES'
ORDER BY enabled_threads;
END IF;
IF (in_show_instruments) THEN
SELECT name AS enabled_instruments,
timed
FROM performance_schema.setup_instruments
WHERE enabled = 'YES'
ORDER BY enabled_instruments;
END IF;
END$$
DELIMITER ;
上一篇: ps_setup_show_disabled_instruments()存储过程 | 下一篇: ps_setup_show_enabled_consumers()存储过程