diff options
Diffstat (limited to 'mysql-test/suite/perfschema/t/relaylog.test')
-rw-r--r-- | mysql-test/suite/perfschema/t/relaylog.test | 180 |
1 files changed, 180 insertions, 0 deletions
diff --git a/mysql-test/suite/perfschema/t/relaylog.test b/mysql-test/suite/perfschema/t/relaylog.test new file mode 100644 index 00000000..12fc96a8 --- /dev/null +++ b/mysql-test/suite/perfschema/t/relaylog.test @@ -0,0 +1,180 @@ +# 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, +# where instruments have the proper key (binlog or relaylog), +# it is not to dive into statistics for each instruments. +# Different test execution sequence in different platforms do make the +# results vary, making the test results very sensitive to changes. +# To ensure robustness: +# - log file rotation is limited to file .000001 and .000002 +# - statistics are normalized to "NONE" or "MANY" +# - statistics on ::update_cond conditions are not collected, +# since this is too much dependent on execution. +# - statistics on COND_binlog_background_thread and COND_xid_list are not +# collected, as they depend on exact timing for background binlog +# checkpointing operations. +# + +connection master; + +select + substring(file_name, locate("master-", file_name)) as FILE_NAME, + EVENT_NAME, + if (count_read > 0, "MANY", "NONE") as COUNT_READ, + if (count_write > 0,"MANY", "NONE") as COUNT_WRITE, + if (sum_number_of_bytes_read > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_READ, + if (sum_number_of_bytes_write > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_WRITE + from performance_schema.file_summary_by_instance + where file_name like "%master-%" order by file_name; + +select * from performance_schema.file_summary_by_instance + where file_name like "%slave-%" order by file_name; + +-- echo "Expect a master binlog + binlog_index" + +select + substring(file_name, locate("master-", file_name)) as FILE_NAME, + EVENT_NAME, + if (count_read > 0, "MANY", "NONE") as COUNT_READ, + if (count_write > 0,"MANY", "NONE") as COUNT_WRITE, + if (sum_number_of_bytes_read > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_READ, + if (sum_number_of_bytes_write > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_WRITE + from performance_schema.file_summary_by_instance + where event_name like "%binlog%" order by file_name; + +select + EVENT_NAME, + if (count_read > 0, "MANY", "NONE") as COUNT_READ, + if (count_write > 0,"MANY", "NONE") as COUNT_WRITE, + if (sum_number_of_bytes_read > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_READ, + if (sum_number_of_bytes_write > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_WRITE + from performance_schema.file_summary_by_event_name + where event_name like "%binlog%" order by event_name; + +select + EVENT_NAME, + if (count_star > 0, "MANY", "NONE") as COUNT_STAR + from performance_schema.events_waits_summary_global_by_event_name + where event_name like "%MYSQL_BIN_LOG%" + and event_name not like "%MYSQL_BIN_LOG::update_cond" + and event_name not like "%MYSQL_BIN_LOG::COND_binlog_background_thread%" + and event_name not like "%MYSQL_BIN_LOG::COND_xid_list" + order by event_name; + +-- echo "Expect no slave relay log" + +select * from performance_schema.file_summary_by_instance + where event_name like "%relaylog%" order by file_name; + +select * from performance_schema.file_summary_by_event_name + where event_name like "%relaylog%" order by event_name; + +select * from performance_schema.events_waits_summary_global_by_event_name + where event_name like "%MYSQL_RELAY_LOG%" + and event_name not like "%MYSQL_RELAY_LOG::update_cond" + order by event_name; + +sync_slave_with_master; +-- echo "============ Performance schema on slave ============" + +select * from performance_schema.file_summary_by_instance + where file_name like "%master-%" order by file_name; + +select + substring(file_name, locate("slave-", file_name)) as FILE_NAME, + EVENT_NAME, + if (count_read > 0, "MANY", "NONE") as COUNT_READ, + if (count_write > 0,"MANY", "NONE") as COUNT_WRITE, + if (sum_number_of_bytes_read > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_READ, + if (sum_number_of_bytes_write > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_WRITE + from performance_schema.file_summary_by_instance + where file_name like "%slave-%" + and (file_name not like "%slave-relay-bin.0%" + or file_name like "%slave-relay-bin.000001" + or file_name like "%slave-relay-bin.000002") + order by file_name; + +-- echo "Expect a slave binlog + binlog_index" + +select + substring(file_name, locate("slave-", file_name)) as FILE_NAME, + EVENT_NAME, + if (count_read > 0, "MANY", "NONE") as COUNT_READ, + if (count_write > 0,"MANY", "NONE") as COUNT_WRITE, + if (sum_number_of_bytes_read > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_READ, + if (sum_number_of_bytes_write > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_WRITE + from performance_schema.file_summary_by_instance + where event_name like "%binlog%" order by file_name; + +select + EVENT_NAME, + if (count_read > 0, "MANY", "NONE") as COUNT_READ, + if (count_write > 0,"MANY", "NONE") as COUNT_WRITE, + if (sum_number_of_bytes_read > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_READ, + if (sum_number_of_bytes_write > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_WRITE + from performance_schema.file_summary_by_event_name + where event_name like "%binlog%" order by event_name; + +select + EVENT_NAME, + if (count_star > 0, "MANY", "NONE") as COUNT_STAR + from performance_schema.events_waits_summary_global_by_event_name + where event_name like "%MYSQL_BIN_LOG%" + and event_name not like "%MYSQL_BIN_LOG::update_cond" + and event_name not like "%MYSQL_BIN_LOG::COND_binlog_background_thread%" + and event_name not like "%MYSQL_BIN_LOG::COND_xid_list" + order by event_name; + +-- echo "Expect a slave relay log" + +select + substring(file_name, locate("slave-", file_name)) as FILE_NAME, + EVENT_NAME, + if (count_read > 0, "MANY", "NONE") as COUNT_READ, + if (count_write > 0,"MANY", "NONE") as COUNT_WRITE, + if (sum_number_of_bytes_read > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_READ, + if (sum_number_of_bytes_write > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_WRITE + from performance_schema.file_summary_by_instance + where event_name like "%relaylog%" + and (file_name not like "%slave-relay-bin.0%" + or file_name like "%slave-relay-bin.000001" + or file_name like "%slave-relay-bin.000002") + order by file_name; + +select + EVENT_NAME, + if (count_read > 0, "MANY", "NONE") as COUNT_READ, + if (count_write > 0,"MANY", "NONE") as COUNT_WRITE, + if (sum_number_of_bytes_read > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_READ, + if (sum_number_of_bytes_write > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_WRITE + from performance_schema.file_summary_by_event_name + where event_name like "%relaylog%" order by event_name; + +select + EVENT_NAME, + if (count_star > 0, "MANY", "NONE") as COUNT_STAR + from performance_schema.events_waits_summary_global_by_event_name + where event_name like "%MYSQL_RELAY_LOG%" + and event_name not like "%MYSQL_RELAY_LOG::update_cond" + order by event_name; + +--source include/stop_slave.inc + |