MySQL 8.0.39
Source Code Documentation
|
Classes | |
struct | PSI_mutex_info_v1 |
Mutex information. More... | |
struct | PSI_mutex |
Interface for an instrumented mutex. More... | |
struct | PSI_mutex_locker_state_v1 |
State data storage for start_mutex_wait_v1_t . More... | |
struct | s_mysql_mysql_mutex_v1 |
struct | PSI_mutex_bootstrap |
Entry point for the performance schema interface. More... | |
struct | PSI_mutex_service_v1 |
Performance Schema Mutex Interface, version 1. More... | |
Macros | |
#define | PSI_MUTEX_VERSION_1 1 |
Performance Schema Mutex Interface number for version 1. More... | |
#define | PSI_CURRENT_MUTEX_VERSION 1 |
Performance Schema Mutex Interface number for the most recent version. More... | |
#define | REQUIRES_MYSQL_MUTEX_SERVICE REQUIRES_SERVICE(mysql_mutex_v1) |
Typedefs | |
typedef unsigned int | PSI_mutex_key |
Instrumented mutex key. More... | |
typedef struct PSI_mutex | PSI_mutex |
typedef struct PSI_mutex_locker | PSI_mutex_locker |
typedef enum PSI_mutex_operation | PSI_mutex_operation |
typedef struct PSI_mutex_locker_state_v1 | PSI_mutex_locker_state_v1 |
typedef void(* | register_mutex_v1_t) (const char *category, struct PSI_mutex_info_v1 *info, int count) |
Mutex registration API. More... | |
typedef struct PSI_mutex *(* | init_mutex_v1_t) (PSI_mutex_key key, const void *identity) |
Mutex instrumentation initialization API. More... | |
typedef void(* | destroy_mutex_v1_t) (struct PSI_mutex *mutex) |
Mutex instrumentation destruction API. More... | |
typedef void(* | unlock_mutex_v1_t) (struct PSI_mutex *mutex) |
Record a mutex instrumentation unlock event. More... | |
typedef struct PSI_mutex_locker *(* | start_mutex_wait_v1_t) (struct PSI_mutex_locker_state_v1 *state, struct PSI_mutex *mutex, enum PSI_mutex_operation op, const char *src_file, unsigned int src_line) |
Record a mutex instrumentation wait start event. More... | |
typedef void(* | end_mutex_wait_v1_t) (struct PSI_mutex_locker *locker, int rc) |
Record a mutex instrumentation wait end event. More... | |
typedef struct PSI_mutex_info_v1 | PSI_mutex_info_v1 |
typedef PSI_mutex_info_v1 | PSI_mutex_info |
typedef struct PSI_mutex_locker_state_v1 | PSI_mutex_locker_state |
typedef void(* | mysql_mutex_register_t) (const char *category, PSI_mutex_info *info, int count) |
typedef int(* | mysql_mutex_init_t) (PSI_mutex_key key, mysql_mutex_t *that, const native_mutexattr_t *attr, const char *src_file, unsigned int src_line) |
typedef int(* | mysql_mutex_destroy_t) (mysql_mutex_t *that, const char *src_file, unsigned int src_line) |
typedef int(* | mysql_mutex_lock_t) (mysql_mutex_t *that, const char *src_file, unsigned int src_line) |
typedef int(* | mysql_mutex_trylock_t) (mysql_mutex_t *that, const char *src_file, unsigned int src_line) |
typedef int(* | mysql_mutex_unlock_t) (mysql_mutex_t *that, const char *src_file, unsigned int src_line) |
typedef struct s_mysql_mysql_mutex_v1 | mysql_service_mysql_mutex_v1_t |
typedef const mysql_service_mysql_mutex_v1_t | mysql_mutex_service_t |
Mutex service. More... | |
typedef struct PSI_mutex_service_v1 | PSI_mutex_service_t |
Enumerations | |
enum | PSI_mutex_operation { PSI_MUTEX_LOCK = 0 , PSI_MUTEX_TRYLOCK = 1 } |
Operation performed on an instrumented mutex. More... | |
Variables | |
MYSQL_PLUGIN_IMPORT PSI_mutex_service_t * | psi_mutex_service |
#define PSI_CURRENT_MUTEX_VERSION 1 |
Performance Schema Mutex Interface number for the most recent version.
The most current version is PSI_MUTEX_VERSION_1
#define PSI_MUTEX_VERSION_1 1 |
Performance Schema Mutex Interface number for version 1.
This version is supported.
#define REQUIRES_MYSQL_MUTEX_SERVICE REQUIRES_SERVICE(mysql_mutex_v1) |
typedef void(* destroy_mutex_v1_t) (struct PSI_mutex *mutex) |
Mutex instrumentation destruction API.
mutex | the mutex to destroy |
typedef void(* end_mutex_wait_v1_t) (struct PSI_mutex_locker *locker, int rc) |
Record a mutex instrumentation wait end event.
locker | a thread locker for the running thread |
rc | the wait operation return code |
typedef struct PSI_mutex *(* init_mutex_v1_t) (PSI_mutex_key key, const void *identity) |
Mutex instrumentation initialization API.
key | the registered mutex key |
identity | the address of the mutex itself |
typedef int(* mysql_mutex_destroy_t) (mysql_mutex_t *that, const char *src_file, unsigned int src_line) |
typedef int(* mysql_mutex_init_t) (PSI_mutex_key key, mysql_mutex_t *that, const native_mutexattr_t *attr, const char *src_file, unsigned int src_line) |
typedef int(* mysql_mutex_lock_t) (mysql_mutex_t *that, const char *src_file, unsigned int src_line) |
typedef void(* mysql_mutex_register_t) (const char *category, PSI_mutex_info *info, int count) |
typedef const mysql_service_mysql_mutex_v1_t mysql_mutex_service_t |
Mutex service.
typedef int(* mysql_mutex_trylock_t) (mysql_mutex_t *that, const char *src_file, unsigned int src_line) |
typedef int(* mysql_mutex_unlock_t) (mysql_mutex_t *that, const char *src_file, unsigned int src_line) |
typedef struct s_mysql_mysql_mutex_v1 mysql_service_mysql_mutex_v1_t |
typedef PSI_mutex_info_v1 PSI_mutex_info |
typedef struct PSI_mutex_info_v1 PSI_mutex_info_v1 |
typedef unsigned int PSI_mutex_key |
Instrumented mutex key.
To instrument a mutex, a mutex key must be obtained using register_mutex
. Using a zero key always disable the instrumentation.
typedef struct PSI_mutex_locker PSI_mutex_locker |
typedef struct PSI_mutex_locker_state_v1 PSI_mutex_locker_state |
typedef struct PSI_mutex_locker_state_v1 PSI_mutex_locker_state_v1 |
typedef enum PSI_mutex_operation PSI_mutex_operation |
typedef struct PSI_mutex_service_v1 PSI_mutex_service_t |
typedef void(* register_mutex_v1_t) (const char *category, struct PSI_mutex_info_v1 *info, int count) |
Mutex registration API.
category | a category name (typically a plugin name) |
info | an array of mutex info to register |
count | the size of the info array |
typedef struct PSI_mutex_locker *(* start_mutex_wait_v1_t) (struct PSI_mutex_locker_state_v1 *state, struct PSI_mutex *mutex, enum PSI_mutex_operation op, const char *src_file, unsigned int src_line) |
Record a mutex instrumentation wait start event.
state | data storage for the locker |
mutex | the instrumented mutex to lock |
op | the operation to perform |
src_file | the source file name |
src_line | the source line number |
typedef void(* unlock_mutex_v1_t) (struct PSI_mutex *mutex) |
Record a mutex instrumentation unlock event.
mutex | the mutex instrumentation |
enum PSI_mutex_operation |
|
extern |