# Tests for PERFORMANCE_SCHEMA --source include/not_embedded.inc --source include/have_perfschema.inc # Verify that the configuration options were applied correctly to the # performance_schema.setup_instruments table. These instruments that are known to persist across # platforms and the various compile options. --echo # --echo # Verify that the configuration file defaults were processed correctly --echo # SELECT * FROM performance_schema.setup_instruments WHERE name IN ( 'wait/synch/mutex/sql/LOCK_user_conn', 'wait/synch/mutex/sql/LOCK_uuid_generator', 'wait/synch/mutex/sql/LOCK_plugin', 'stage/sql/creating table') AND enabled = 'yes' AND timed = 'no' ORDER BY name; SELECT * FROM performance_schema.setup_instruments WHERE name = 'wait/synch/mutex/sql/LOCK_thd_list' AND enabled = 'no' AND timed = 'no'; SELECT * FROM performance_schema.setup_instruments WHERE name IN ( 'wait/synch/mutex/sql/LOG_INFO::lock', 'wait/synch/mutex/sql/THD::LOCK_thd_list') AND enabled = 'yes' AND timed = 'yes' ORDER BY name; SELECT * FROM performance_schema.setup_instruments WHERE name = 'wait/synch/mutex/sql/hash_filo::lock' AND enabled = 'no' AND timed = 'no' ORDER BY name; --echo # --echo # Verify that the memory instruments are never timed --echo # SELECT * FROM performance_schema.setup_instruments WHERE name like 'memory/%' AND timed = 'YES'; --echo # --echo # Verify that the memory/performance_schema instruments are never disabled --echo # SELECT * FROM performance_schema.setup_instruments WHERE name like 'memory/performance_schema/%' AND enabled = 'NO'; --echo # --echo # Verify that the instrument startup settings are not not visible. --echo # SHOW VARIABLES LIKE "%/wait/synch/mutex%"; --echo # --echo # Verify command line options are processed correctly --echo # # The instrument wait/io/table/sql/handler should be enabled and timed. We will # restart the server with the instrument disabled from the command line. --echo # --echo # Verify that wait/io/table/sql/handler is enabled and timed --echo # SELECT * FROM performance_schema.setup_instruments WHERE name like "%wait/io/table/sql/handler%"; # Write file to make mysql-test-run.pl wait for the server to stop --exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect # Restart the server --echo # --echo # Stop server --send_shutdown --source include/wait_until_disconnected.inc --echo # Restart server with wait/io/table/sql/handler disabled --exec echo "restart:--loose-performance-schema-instrument=%wait/io/table/sql/%=off" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect # Turn on reconnect --echo # Enable reconnect --enable_reconnect # Wait for server to be back online again --echo # Wait until connected again --source include/wait_until_connected_again.inc # Turn off reconnect again --echo # Disable reconnect --disable_reconnect --echo # --echo # Verify that wait/io/table is disabled --echo # SELECT * FROM performance_schema.setup_instruments WHERE name like "%wait/io/table/sql/handler%";