MySQL 8.4.0
Source Code Documentation
psi_rwlock_bits.h File Reference

Performance schema instrumentation interface. More...

Go to the source code of this file.

Classes

struct  PSI_rwlock
 Interface for an instrumented rwlock. More...
 
struct  PSI_rwlock_info_v1
 Rwlock information. More...
 
struct  PSI_rwlock_locker_state_v1
 State data storage for start_rwlock_rdwait_v1_t, start_rwlock_wrwait_v1_t. More...
 

Macros

#define PSI_RWLOCK_VERSION_1   1
 Performance Schema Rwlock Interface number for version 1. More...
 
#define PSI_RWLOCK_VERSION_2   2
 Performance Schema Rwlock Interface number for version 2. More...
 
#define PSI_CURRENT_RWLOCK_VERSION   2
 Performance Schema Rwlock Interface number for the most recent version. More...
 

Typedefs

typedef unsigned int PSI_rwlock_key
 Instrumented rwlock key. More...
 
typedef struct PSI_rwlock PSI_rwlock
 
typedef struct PSI_rwlock_locker PSI_rwlock_locker
 
typedef enum PSI_rwlock_operation PSI_rwlock_operation
 
typedef struct PSI_rwlock_info_v1 PSI_rwlock_info_v1
 
typedef struct PSI_rwlock_locker_state_v1 PSI_rwlock_locker_state_v1
 
typedef void(* register_rwlock_v1_t) (const char *category, struct PSI_rwlock_info_v1 *info, int count)
 Rwlock registration API. More...
 
typedef struct PSI_rwlock *(* init_rwlock_v1_t) (PSI_rwlock_key key, const void *identity)
 Rwlock instrumentation initialization API. More...
 
typedef void(* destroy_rwlock_v1_t) (struct PSI_rwlock *rwlock)
 Rwlock instrumentation destruction API. More...
 
typedef struct PSI_rwlock_locker *(* start_rwlock_rdwait_v1_t) (struct PSI_rwlock_locker_state_v1 *state, struct PSI_rwlock *rwlock, enum PSI_rwlock_operation op, const char *src_file, unsigned int src_line)
 Record a rwlock instrumentation read wait start event. More...
 
typedef void(* end_rwlock_rdwait_v1_t) (struct PSI_rwlock_locker *locker, int rc)
 Record a rwlock instrumentation read wait end event. More...
 
typedef struct PSI_rwlock_locker *(* start_rwlock_wrwait_v1_t) (struct PSI_rwlock_locker_state_v1 *state, struct PSI_rwlock *rwlock, enum PSI_rwlock_operation op, const char *src_file, unsigned int src_line)
 Record a rwlock instrumentation write wait start event. More...
 
typedef void(* end_rwlock_wrwait_v1_t) (struct PSI_rwlock_locker *locker, int rc)
 Record a rwlock instrumentation write wait end event. More...
 
typedef void(* unlock_rwlock_v1_t) (struct PSI_rwlock *rwlock)
 Record a rwlock instrumentation unlock event. More...
 
typedef void(* unlock_rwlock_v2_t) (struct PSI_rwlock *rwlock, enum PSI_rwlock_operation op)
 Record a rwlock instrumentation unlock event. More...
 
typedef struct PSI_rwlock_info_v1 PSI_rwlock_info
 
typedef struct PSI_rwlock_locker_state_v1 PSI_rwlock_locker_state
 

Enumerations

enum  PSI_rwlock_operation {
  PSI_RWLOCK_READLOCK = 0 , PSI_RWLOCK_WRITELOCK = 1 , PSI_RWLOCK_TRYREADLOCK = 2 , PSI_RWLOCK_TRYWRITELOCK = 3 ,
  PSI_RWLOCK_UNLOCK = 4 , PSI_RWLOCK_SHAREDLOCK = 5 , PSI_RWLOCK_SHAREDEXCLUSIVELOCK = 6 , PSI_RWLOCK_EXCLUSIVELOCK = 7 ,
  PSI_RWLOCK_TRYSHAREDLOCK = 8 , PSI_RWLOCK_TRYSHAREDEXCLUSIVELOCK = 9 , PSI_RWLOCK_TRYEXCLUSIVELOCK = 10 , PSI_RWLOCK_SHAREDUNLOCK = 11 ,
  PSI_RWLOCK_SHAREDEXCLUSIVEUNLOCK = 12 , PSI_RWLOCK_EXCLUSIVEUNLOCK = 13
}
 Operation performed on an instrumented rwlock. More...
 

Detailed Description

Performance schema instrumentation interface.