Current Path : /home/usr.opt/mysql57/mysql-test/suite/perfschema/t/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : /home/usr.opt/mysql57/mysql-test/suite/perfschema/t/sxlock_func.test |
# Performance schema tests, for SX-lock # Note that only Innodb provides instrumented SX-locks, # so this test depends largely on the innodb instrumentation. --source include/not_embedded.inc --source include/have_perfschema.inc UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES'; UPDATE performance_schema.setup_instruments SET enabled = 'YES' WHERE name like 'wait/synch/sxlock/%'; TRUNCATE TABLE performance_schema.events_waits_history_long; TRUNCATE TABLE performance_schema.events_waits_history; TRUNCATE TABLE performance_schema.events_waits_current; # Check some SX-locks classes are instrumented # (exclude instruments that depend on compiling options) select name from performance_schema.setup_instruments where name like "wait/synch/sxlock/%" and name not in ("wait/synch/sxlock/innodb/buf_block_lock", "wait/synch/sxlock/innodb/buf_block_debug_latch") order by name; # Check some SX-locks instances are instrumented select name from performance_schema.rwlock_instances where name in ( 'wait/synch/sxlock/innodb/btr_search_latch', 'wait/synch/sxlock/innodb/checkpoint_lock', 'wait/synch/sxlock/innodb/dict_operation_lock', 'wait/synch/sxlock/innodb/trx_i_s_cache_lock', 'wait/synch/sxlock/innodb/trx_purge_latch' ) order by name; # Some Innodb payload, to produce data --disable_warnings drop table if exists t1; --enable_warnings create table t1(a int) engine=innodb; begin; insert into t1 values (1), (2), (3); insert into t1 values (1), (2), (3); insert into t1 values (1), (2), (3); commit; drop table t1; # Make sure some shared_lock operations have been executed select operation from performance_schema.events_waits_history_long where event_name like "wait/synch/sxlock/%" and operation = "shared_lock" limit 1; # Make sure some exclusive_lock operations have been executed select operation from performance_schema.events_waits_history_long where event_name like "wait/synch/sxlock/%" and operation = "exclusive_lock" limit 1; # The following operations are not verified in this test: # - shared_exclusive_lock # - try_shared_lock # - try_shared_exclusive_lock # - try_exclusive_lock # because to observe them: # - there must be an actual code path using the operation # (this affects try operations, which are not all used) # - there must be a repeatable scenario to trigger the # code path, to use as payload in the test script # Cleanup UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';