78 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
| # Tests for PERFORMANCE_SCHEMA
 | |
| 
 | |
| --source include/have_log_bin.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) engine = XENGINE;
 | |
| 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.
 | |
| select ID from INFORMATION_SCHEMA.PROCESSLIST
 | |
|   where COMMAND = "Binlog Dump"
 | |
|   into @master_dump_pid;
 | |
| 
 | |
| 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.
 | |
| select ID from INFORMATION_SCHEMA.PROCESSLIST
 | |
|   where STATE like "Waiting for master to send event%"
 | |
|   into @slave_io_pid;
 | |
| 
 | |
| 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.
 | |
| select ID from INFORMATION_SCHEMA.PROCESSLIST
 | |
|   where STATE like "Slave has read all relay log%"
 | |
|   into @slave_sql_pid;
 | |
| 
 | |
| 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
 | |
| 
 |