# Tests for PERFORMANCE_SCHEMA --source include/have_log_bin.inc --source include/not_embedded.inc --source include/have_perfschema.inc --source include/master-slave.inc --disable_warnings drop table if exists test.t1; --sync_slave_with_master reset master; --enable_warnings create table test.t1(a int); drop table test.t1; --source include/show_binlog_events.inc # Notes # # The point of this test is to make sure code is properly instrumented, # for replication threads. # Each time an ID is assigned to a replication thread, # visible in the INFORMATION_SCHEMA.PROCESSLIST table, # the same PROCESSLIST_ID should be visible in table performance_schema.threads connection master; -- echo "============ Performance schema on master ============" # Read the ID of the binlog dump connection, # as exposed in PROCESSLIST. --enable_prepare_warnings select ID from INFORMATION_SCHEMA.PROCESSLIST where COMMAND = "Binlog Dump" into @master_dump_pid; --disable_prepare_warnings select COMMAND, STATE from INFORMATION_SCHEMA.PROCESSLIST where ID = @master_dump_pid; # Make sure the performance schema also knows this PROCESSLIST_ID select NAME, TYPE, PROCESSLIST_COMMAND, PROCESSLIST_STATE from performance_schema.threads where PROCESSLIST_ID = @master_dump_pid; sync_slave_with_master; -- echo "============ Performance schema on slave ============" # Read the ID of the SLAVE IO thread, # as exposed in PROCESSLIST. --enable_prepare_warnings select ID from INFORMATION_SCHEMA.PROCESSLIST where STATE like "Waiting for master to send event%" into @slave_io_pid; --disable_prepare_warnings select COMMAND, STATE from INFORMATION_SCHEMA.PROCESSLIST where ID = @slave_io_pid; # Make sure the performance schema also knows this PROCESSLIST_ID select NAME, TYPE, PROCESSLIST_COMMAND, PROCESSLIST_STATE from performance_schema.threads where PROCESSLIST_ID = @slave_io_pid; # Read the ID of the SLAVE SQL thread, # as exposed in PROCESSLIST. --enable_prepare_warnings select ID from INFORMATION_SCHEMA.PROCESSLIST where STATE like "Slave has read all relay log%" into @slave_sql_pid; --disable_prepare_warnings select COMMAND, STATE from INFORMATION_SCHEMA.PROCESSLIST where ID = @slave_sql_pid; # Make sure the performance schema also knows this PROCESSLIST_ID select NAME, TYPE, PROCESSLIST_COMMAND, PROCESSLIST_STATE from performance_schema.threads where PROCESSLIST_ID = @slave_sql_pid; --source include/rpl_end.inc