mariadb/mysql-test/suite/perfschema/t/server_init.test
Sergei Golubchik 0ea717f51a P_S 5.7.28
2020-03-10 19:24:22 +01:00

144 lines
4.8 KiB
Text

# Tests for PERFORMANCE_SCHEMA
--source include/not_embedded.inc
--source include/have_perfschema.inc
# This test verifies that the mysys and server instruments are properly
# initialized and recorded by the performance schema during the bootstrap
# sequence in mysqld main().
# Note that some globals mutexes/rwlocks/conds that depend on #ifdef options
# or runtime options are not tested here, to have a predictable result.
use performance_schema;
# Verify that these global mutexes have been properly initilized in mysys
select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_malloc";
select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_open";
select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_myisam";
select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_heap";
select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_net";
select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_charset";
# There are no global rwlock in mysys
# There are no global conditions in mysys
# (THR_COND_threads is only present in debug builds
# Verify that these global mutexes have been properly initilized in sql
select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_thread_count";
select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_log_throttle_qni";
select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_status";
select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_uuid_generator";
select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_crypt";
select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_active_mi";
select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_manager";
select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_global_system_variables";
select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_user_conn";
select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_prepared_stmt_count";
select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_server_started";
# LOG_INFO object are created on demand, and are not global.
# select count(name) from mutex_instances
# where name like "wait/synch/mutex/sql/LOG_INFO::lock";
select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/Query_cache::structure_guard_mutex";
# The event scheduler may be disabled
# select count(name) from mutex_instances
# where name like "wait/synch/mutex/sql/Event_scheduler::LOCK_scheduler_state";
select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_event_queue";
select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_item_func_sleep";
select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_audit_mask";
select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_plugin";
# Not a global variable, may be destroyed already.
# select count(name) from mutex_instances
# where name like "wait/synch/mutex/sql/LOCK_gdl";
select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/tz_LOCK";
# Verify that these global rwlocks have been properly initilized in sql
select count(name) from rwlock_instances
where name like "wait/synch/rwlock/sql/LOCK_sys_init_connect";
select count(name) from rwlock_instances
where name like "wait/synch/rwlock/sql/LOCK_sys_init_slave";
select count(name) from rwlock_instances
where name like "wait/synch/rwlock/sql/LOCK_system_variables_hash";
# Verify that these global conditions have been properly initilized in sql
select count(name) from cond_instances
where name like "wait/synch/cond/sql/COND_server_started";
select count(name) from cond_instances
where name like "wait/synch/cond/sql/COND_refresh";
select count(name) from cond_instances
where name like "wait/synch/cond/sql/COND_thread_count";
select count(name) from cond_instances
where name like "wait/synch/cond/sql/COND_manager";
select count(name) from cond_instances
where name like "wait/synch/cond/sql/COND_thread_cache";
select count(name) from cond_instances
where name like "wait/synch/cond/sql/COND_flush_thread_cache";
select count(name) from cond_instances
where name like "wait/synch/cond/sql/Query_cache::COND_cache_status_changed";
# The event scheduler may be disabled
# select count(name) from cond_instances
# where name like "wait/synch/cond/sql/Event_scheduler::COND_state";
select count(name) from cond_instances
where name like "wait/synch/cond/sql/COND_queue_state";