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_threads"; 18 19select count(name) from mutex_instances 20 where name like "wait/synch/mutex/mysys/THR_LOCK_malloc"; 21 22select count(name) from mutex_instances 23 where name like "wait/synch/mutex/mysys/THR_LOCK_open"; 24 25select count(name) from mutex_instances 26 where name like "wait/synch/mutex/mysys/THR_LOCK_myisam"; 27 28select count(name) from mutex_instances 29 where name like "wait/synch/mutex/mysys/THR_LOCK_heap"; 30 31select count(name) from mutex_instances 32 where name like "wait/synch/mutex/mysys/THR_LOCK_net"; 33 34select count(name) from mutex_instances 35 where name like "wait/synch/mutex/mysys/THR_LOCK_charset"; 36 37# There are no global rwlock in mysys 38 39# Verify that these global conditions have been properly initilized in mysys 40 41select count(name) from cond_instances 42 where name like "wait/synch/cond/mysys/THR_COND_threads"; 43 44# Verify that these global mutexes have been properly initilized in sql 45 46select count(name) from mutex_instances 47 where name like "wait/synch/mutex/sql/LOCK_thread_count"; 48 49select count(name) from mutex_instances 50 where name like "wait/synch/mutex/sql/LOCK_log_throttle_qni"; 51 52select count(name) from mutex_instances 53 where name like "wait/synch/mutex/sql/LOCK_status"; 54 55select count(name) from mutex_instances 56 where name like "wait/synch/mutex/sql/LOCK_error_log"; 57 58select count(name) from mutex_instances 59 where name like "wait/synch/mutex/sql/LOCK_delayed_insert"; 60 61select count(name) from mutex_instances 62 where name like "wait/synch/mutex/sql/LOCK_uuid_generator"; 63 64select count(name) from mutex_instances 65 where name like "wait/synch/mutex/sql/LOCK_delayed_status"; 66 67select count(name) from mutex_instances 68 where name like "wait/synch/mutex/sql/LOCK_delayed_create"; 69 70select count(name) from mutex_instances 71 where name like "wait/synch/mutex/sql/LOCK_crypt"; 72 73select count(name) from mutex_instances 74 where name like "wait/synch/mutex/sql/LOCK_slave_list"; 75 76select count(name) from mutex_instances 77 where name like "wait/synch/mutex/sql/LOCK_active_mi"; 78 79select count(name) from mutex_instances 80 where name like "wait/synch/mutex/sql/LOCK_manager"; 81 82select count(name) from mutex_instances 83 where name like "wait/synch/mutex/sql/LOCK_global_system_variables"; 84 85select count(name) from mutex_instances 86 where name like "wait/synch/mutex/sql/LOCK_user_conn"; 87 88select count(name) from mutex_instances 89 where name like "wait/synch/mutex/sql/LOCK_prepared_stmt_count"; 90 91select count(name) from mutex_instances 92 where name like "wait/synch/mutex/sql/LOCK_connection_count"; 93 94select count(name) from mutex_instances 95 where name like "wait/synch/mutex/sql/LOCK_server_started"; 96 97# LOG_INFO object are created on demand, and are not global. 98# select count(name) from mutex_instances 99# where name like "wait/synch/mutex/sql/LOG_INFO::lock"; 100 101select count(name) from mutex_instances 102 where name like "wait/synch/mutex/sql/Query_cache::structure_guard_mutex"; 103 104# The event scheduler may be disabled 105# select count(name) from mutex_instances 106# where name like "wait/synch/mutex/sql/Event_scheduler::LOCK_scheduler_state"; 107 108select count(name) from mutex_instances 109 where name like "wait/synch/mutex/sql/LOCK_event_queue"; 110 111select count(name) from mutex_instances 112 where name like "wait/synch/mutex/sql/LOCK_user_locks"; 113 114select count(name) from mutex_instances 115 where name like "wait/synch/mutex/sql/Cversion_lock"; 116 117select count(name) from mutex_instances 118 where name like "wait/synch/mutex/sql/LOCK_audit_mask"; 119 120select count(name) from mutex_instances 121 where name like "wait/synch/mutex/sql/LOCK_plugin"; 122 123# Not a global variable, may be destroyed already. 124# select count(name) from mutex_instances 125# where name like "wait/synch/mutex/sql/LOCK_gdl"; 126 127select count(name) from mutex_instances 128 where name like "wait/synch/mutex/sql/tz_LOCK"; 129 130# Verify that these global rwlocks have been properly initilized in sql 131 132select count(name) from rwlock_instances 133 where name like "wait/synch/rwlock/sql/LOCK_grant"; 134 135select count(name) from rwlock_instances 136 where name like "wait/synch/rwlock/sql/LOCK_sys_init_connect"; 137 138select count(name) from rwlock_instances 139 where name like "wait/synch/rwlock/sql/LOCK_sys_init_slave"; 140 141select count(name) from rwlock_instances 142 where name like "wait/synch/rwlock/sql/LOCK_system_variables_hash"; 143 144# Verify that these global conditions have been properly initilized in sql 145 146select count(name) from cond_instances 147 where name like "wait/synch/cond/sql/COND_server_started"; 148 149select count(name) from cond_instances 150 where name like "wait/synch/cond/sql/COND_refresh"; 151 152select count(name) from cond_instances 153 where name like "wait/synch/cond/sql/COND_thread_count"; 154 155select count(name) from cond_instances 156 where name like "wait/synch/cond/sql/COND_manager"; 157 158select count(name) from cond_instances 159 where name like "wait/synch/cond/sql/COND_thread_cache"; 160 161select count(name) from cond_instances 162 where name like "wait/synch/cond/sql/COND_flush_thread_cache"; 163 164select count(name) from cond_instances 165 where name like "wait/synch/cond/sql/Query_cache::COND_cache_status_changed"; 166 167# The event scheduler may be disabled 168# select count(name) from cond_instances 169# where name like "wait/synch/cond/sql/Event_scheduler::COND_state"; 170 171select count(name) from cond_instances 172 where name like "wait/synch/cond/sql/COND_queue_state"; 173 174