23#ifndef COMPONENTS_SERVICES_BITS_PSI_RWLOCK_BITS_H
24#define COMPONENTS_SERVICES_BITS_PSI_RWLOCK_BITS_H
50#define PSI_RWLOCK_VERSION_1 1
57#define PSI_RWLOCK_VERSION_2 2
64#define PSI_CURRENT_RWLOCK_VERSION 2
228 const void *identity);
void(* unlock_rwlock_v1_t)(struct PSI_rwlock *rwlock)
Record a rwlock instrumentation unlock event.
Definition: psi_rwlock_bits.h:282
void(* end_rwlock_rdwait_v1_t)(struct PSI_rwlock_locker *locker, int rc)
Record a rwlock instrumentation read wait end event.
Definition: psi_rwlock_bits.h:254
unsigned int PSI_rwlock_key
Instrumented rwlock key.
Definition: psi_rwlock_bits.h:43
struct PSI_rwlock_locker PSI_rwlock_locker
Definition: psi_rwlock_bits.h:78
PSI_rwlock_operation
Operation performed on an instrumented rwlock.
Definition: psi_rwlock_bits.h:123
void(* destroy_rwlock_v1_t)(struct PSI_rwlock *rwlock)
Rwlock instrumentation destruction API.
Definition: psi_rwlock_bits.h:234
void(* end_rwlock_wrwait_v1_t)(struct PSI_rwlock_locker *locker, int rc)
Record a rwlock instrumentation write wait end event.
Definition: psi_rwlock_bits.h:275
void(* register_rwlock_v1_t)(const char *category, struct PSI_rwlock_info_v1 *info, int count)
Rwlock registration API.
Definition: psi_rwlock_bits.h:217
void(* unlock_rwlock_v2_t)(struct PSI_rwlock *rwlock, enum PSI_rwlock_operation op)
Record a rwlock instrumentation unlock event.
Definition: psi_rwlock_bits.h:289
@ PSI_RWLOCK_TRYWRITELOCK
Write lock attempt.
Definition: psi_rwlock_bits.h:131
@ PSI_RWLOCK_SHAREDEXCLUSIVEUNLOCK
Unlock a shared exclusive lock.
Definition: psi_rwlock_bits.h:150
@ PSI_RWLOCK_WRITELOCK
Write lock.
Definition: psi_rwlock_bits.h:127
@ PSI_RWLOCK_UNLOCK
Unlock (Read or Write).
Definition: psi_rwlock_bits.h:133
@ PSI_RWLOCK_SHAREDUNLOCK
Unlock a shared lock.
Definition: psi_rwlock_bits.h:148
@ PSI_RWLOCK_SHAREDLOCK
Shared lock.
Definition: psi_rwlock_bits.h:136
@ PSI_RWLOCK_SHAREDEXCLUSIVELOCK
Shared Exclusive lock.
Definition: psi_rwlock_bits.h:138
@ PSI_RWLOCK_EXCLUSIVEUNLOCK
Unlock an exclusive lock.
Definition: psi_rwlock_bits.h:152
@ PSI_RWLOCK_TRYSHAREDEXCLUSIVELOCK
Shared Exclusive lock attempt.
Definition: psi_rwlock_bits.h:144
@ PSI_RWLOCK_TRYSHAREDLOCK
Shared lock attempt.
Definition: psi_rwlock_bits.h:142
@ PSI_RWLOCK_TRYREADLOCK
Read lock attempt.
Definition: psi_rwlock_bits.h:129
@ PSI_RWLOCK_EXCLUSIVELOCK
Exclusive lock.
Definition: psi_rwlock_bits.h:140
@ PSI_RWLOCK_READLOCK
Read lock.
Definition: psi_rwlock_bits.h:125
@ PSI_RWLOCK_TRYEXCLUSIVELOCK
Exclusive lock attempt.
Definition: psi_rwlock_bits.h:146
struct PSI_thread PSI_thread
Definition: psi_thread_bits.h:81
static int count
Definition: myisam_ftdump.cc:42
static const char * category
Definition: sha2_password.cc:169
Performance schema instrumentation interface.
required string key
Definition: replication_asynchronous_connection_failover.proto:59
Instrumented artifact.
Definition: psi_bits.h:166
Rwlock information.
Definition: psi_rwlock_bits.h:161
const char * m_name
The name of the rwlock to register.
Definition: psi_rwlock_bits.h:169
PSI_rwlock_key * m_key
Pointer to the key assigned to the registered rwlock.
Definition: psi_rwlock_bits.h:165
int m_volatility
Volatility index.
Definition: psi_rwlock_bits.h:176
unsigned int m_flags
The flags of the rwlock to register.
Definition: psi_rwlock_bits.h:174
const char * m_documentation
Documentation.
Definition: psi_rwlock_bits.h:178
State data storage for start_rwlock_rdwait_v1_t, start_rwlock_wrwait_v1_t.
Definition: psi_rwlock_bits.h:193
struct PSI_rwlock * m_rwlock
Current rwlock.
Definition: psi_rwlock_bits.h:199
enum PSI_rwlock_operation m_operation
Current operation.
Definition: psi_rwlock_bits.h:197
unsigned long long(* m_timer)(void)
Timer function.
Definition: psi_rwlock_bits.h:205
struct PSI_thread * m_thread
Current thread.
Definition: psi_rwlock_bits.h:201
unsigned long long m_timer_start
Timer start.
Definition: psi_rwlock_bits.h:203
void * m_wait
Internal data.
Definition: psi_rwlock_bits.h:207
unsigned int m_flags
Internal state.
Definition: psi_rwlock_bits.h:195
Interface for an instrumented rwlock.
Definition: psi_rwlock_bits.h:70