mirror of
https://github.com/MariaDB/server.git
synced 2026-05-15 19:37:16 +02:00
MDEV-7109: Add support for INFORMATION_SCHEMA.INNODB_SEMAPHORE_WAITS
MDEV-7399: Add support for INFORMATION_SCHEMA.INNODB_MUTEXES
MDEV-7618: Improve semaphore instrumentation
Introduced two new information schema tables to monitor mutex waits
and semaphore waits. Added a new configuration variable
innodb_intrument_semaphores to add thread_id, file name and
line of current holder of mutex/rw_lock.
This commit is contained in:
parent
9152b83973
commit
1cc7befc14
39 changed files with 2173 additions and 293 deletions
|
|
@ -325,6 +325,12 @@ rw_lock_s_lock_low(
|
|||
lock->last_s_file_name = file_name;
|
||||
lock->last_s_line = line;
|
||||
|
||||
if (srv_instrument_semaphores) {
|
||||
lock->thread_id = os_thread_get_curr_id();
|
||||
lock->file_name = file_name;
|
||||
lock->line = line;
|
||||
}
|
||||
|
||||
return(TRUE); /* locking succeeded */
|
||||
}
|
||||
|
||||
|
|
@ -426,6 +432,12 @@ rw_lock_x_lock_func_nowait(
|
|||
rw_lock_add_debug_info(lock, 0, RW_LOCK_EX, file_name, line);
|
||||
#endif
|
||||
|
||||
if (srv_instrument_semaphores) {
|
||||
lock->thread_id = os_thread_get_curr_id();
|
||||
lock->file_name = file_name;
|
||||
lock->line = line;
|
||||
}
|
||||
|
||||
lock->last_x_file_name = file_name;
|
||||
lock->last_x_line = line;
|
||||
|
||||
|
|
@ -546,8 +558,8 @@ pfs_rw_lock_create_func(
|
|||
# ifdef UNIV_SYNC_DEBUG
|
||||
ulint level, /*!< in: level */
|
||||
# endif /* UNIV_SYNC_DEBUG */
|
||||
const char* cmutex_name, /*!< in: mutex name */
|
||||
# endif /* UNIV_DEBUG */
|
||||
const char* cmutex_name, /*!< in: mutex name */
|
||||
const char* cfile_name, /*!< in: file name where created */
|
||||
ulint cline) /*!< in: file line where created */
|
||||
{
|
||||
|
|
@ -560,8 +572,8 @@ pfs_rw_lock_create_func(
|
|||
# ifdef UNIV_SYNC_DEBUG
|
||||
level,
|
||||
# endif /* UNIV_SYNC_DEBUG */
|
||||
cmutex_name,
|
||||
# endif /* UNIV_DEBUG */
|
||||
cmutex_name,
|
||||
cfile_name,
|
||||
cline);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue