Server IP : 172.67.216.182 / Your IP : 162.158.163.233 Web Server : Apache System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /www/server/mysql/src/mysql-test/suite/perfschema/t/ |
Upload File : |
# 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';