1# Tests for PERFORMANCE_SCHEMA 2 3--source include/not_embedded.inc 4--source include/have_perfschema.inc 5 6# This test verifies that the mysys and server instruments are properly 7# initialized and recorded by the performance schema during the bootstrap 8# sequence in mysqld main(). 9# Note that some globals mutexes/rwlocks/conds that depend on #ifdef options 10# or runtime options are not tested here, to have a predictable result. 11 12use performance_schema; 13 14# Verify that these global mutexes have been properly initilized in mysys 15 16select count(name) from mutex_instances 17 where name like "wait/synch/mutex/mysys/THR_LOCK_malloc"; 18 19select count(name) from mutex_instances 20 where name like "wait/synch/mutex/mysys/THR_LOCK_open"; 21 22select count(name) from mutex_instances 23 where name like "wait/synch/mutex/mysys/THR_LOCK_myisam"; 24 25select count(name) from mutex_instances 26 where name like "wait/synch/mutex/mysys/THR_LOCK_heap"; 27 28select count(name) from mutex_instances 29 where name like "wait/synch/mutex/mysys/THR_LOCK_net"; 30 31select count(name) from mutex_instances 32 where name like "wait/synch/mutex/mysys/THR_LOCK_charset"; 33 34# There are no global rwlock in mysys 35 36# There are no global conditions in mysys 37# (THR_COND_threads is only present in debug builds 38 39# Verify that these global mutexes have been properly initilized in sql 40 41select count(name) from mutex_instances 42 where name like "wait/synch/mutex/sql/LOCK_open"; 43 44select count(name) from mutex_instances 45 where name like "wait/synch/mutex/sql/LOCK_thd_list"; 46 47select count(name) from mutex_instances 48 where name like "wait/synch/mutex/sql/LOCK_log_throttle_qni"; 49 50select count(name) from mutex_instances 51 where name like "wait/synch/mutex/sql/LOCK_status"; 52 53select count(name) from mutex_instances 54 where name like "wait/synch/mutex/sql/LOCK_uuid_generator"; 55 56select count(name) from mutex_instances 57 where name like "wait/synch/mutex/sql/LOCK_crypt"; 58 59select count(name) from mutex_instances 60 where name like "wait/synch/mutex/sql/LOCK_slave_list"; 61 62select count(name) from mutex_instances 63 where name like "wait/synch/mutex/sql/LOCK_manager"; 64 65select count(name) from mutex_instances 66 where name like "wait/synch/mutex/sql/LOCK_global_system_variables"; 67 68select count(name) from mutex_instances 69 where name like "wait/synch/mutex/sql/LOCK_user_conn"; 70 71select count(name) from mutex_instances 72 where name like "wait/synch/mutex/sql/LOCK_prepared_stmt_count"; 73 74select count(name) from mutex_instances 75 where name like "wait/synch/mutex/sql/LOCK_connection_count"; 76 77select count(name) from mutex_instances 78 where name like "wait/synch/mutex/sql/LOCK_server_started"; 79 80# LOG_INFO object are created on demand, and are not global. 81# select count(name) from mutex_instances 82# where name like "wait/synch/mutex/sql/LOG_INFO::lock"; 83 84select count(name) from mutex_instances 85 where name like "wait/synch/mutex/sql/Query_cache::structure_guard_mutex"; 86 87# The event scheduler may be disabled 88# select count(name) from mutex_instances 89# where name like "wait/synch/mutex/sql/Event_scheduler::LOCK_scheduler_state"; 90 91select count(name) from mutex_instances 92 where name like "wait/synch/mutex/sql/LOCK_event_queue"; 93 94select count(name) from mutex_instances 95 where name like "wait/synch/mutex/sql/LOCK_item_func_sleep"; 96 97select count(name) from mutex_instances 98 where name like "wait/synch/mutex/sql/LOCK_audit_mask"; 99 100select count(name) from mutex_instances 101 where name like "wait/synch/mutex/sql/LOCK_transaction_cache"; 102 103select count(name) from mutex_instances 104 where name like "wait/synch/mutex/sql/LOCK_plugin"; 105 106# Not a global variable, may be destroyed already. 107# select count(name) from mutex_instances 108# where name like "wait/synch/mutex/sql/LOCK_gdl"; 109 110select count(name) from mutex_instances 111 where name like "wait/synch/mutex/sql/tz_LOCK"; 112 113# Verify that these global rwlocks have been properly initilized in sql 114 115select count(name) from rwlock_instances 116 where name like "wait/synch/rwlock/sql/LOCK_sys_init_connect"; 117 118select count(name) from rwlock_instances 119 where name like "wait/synch/rwlock/sql/LOCK_sys_init_slave"; 120 121select count(name) from rwlock_instances 122 where name like "wait/synch/rwlock/sql/LOCK_system_variables_hash"; 123 124# Verify that these global conditions have been properly initilized in sql 125 126select count(name) from cond_instances 127 where name like "wait/synch/cond/sql/COND_server_started"; 128 129select count(name) from cond_instances 130 where name like "wait/synch/cond/sql/COND_refresh"; 131 132select count(name) from cond_instances 133 where name like "wait/synch/cond/sql/COND_thread_count"; 134 135select count(name) from cond_instances 136 where name like "wait/synch/cond/sql/COND_manager"; 137 138select count(name) from cond_instances 139 where name like "wait/synch/cond/sql/COND_thread_cache"; 140 141select count(name) from cond_instances 142 where name like "wait/synch/cond/sql/COND_flush_thread_cache"; 143 144select count(name) from cond_instances 145 where name like "wait/synch/cond/sql/Query_cache::COND_cache_status_changed"; 146 147# The event scheduler may be disabled 148# select count(name) from cond_instances 149# where name like "wait/synch/cond/sql/Event_scheduler::COND_state"; 150 151select count(name) from cond_instances 152 where name like "wait/synch/cond/sql/COND_queue_state"; 153 154