24#ifndef COMPONENTS_SERVICES_BITS_PSI_RWLOCK_BITS_H
25#define COMPONENTS_SERVICES_BITS_PSI_RWLOCK_BITS_H
51#define PSI_RWLOCK_VERSION_1 1
58#define PSI_RWLOCK_VERSION_2 2
65#define PSI_CURRENT_RWLOCK_VERSION 2
229 const void *identity);
void(* unlock_rwlock_v1_t)(struct PSI_rwlock *rwlock)
Record a rwlock instrumentation unlock event.
Definition: psi_rwlock_bits.h:283
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:255
unsigned int PSI_rwlock_key
Instrumented rwlock key.
Definition: psi_rwlock_bits.h:44
struct PSI_rwlock_locker PSI_rwlock_locker
Definition: psi_rwlock_bits.h:79
PSI_rwlock_operation
Operation performed on an instrumented rwlock.
Definition: psi_rwlock_bits.h:124
void(* destroy_rwlock_v1_t)(struct PSI_rwlock *rwlock)
Rwlock instrumentation destruction API.
Definition: psi_rwlock_bits.h:235
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:276
void(* register_rwlock_v1_t)(const char *category, struct PSI_rwlock_info_v1 *info, int count)
Rwlock registration API.
Definition: psi_rwlock_bits.h:218
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:290
@ PSI_RWLOCK_TRYWRITELOCK
Write lock attempt.
Definition: psi_rwlock_bits.h:132
@ PSI_RWLOCK_SHAREDEXCLUSIVEUNLOCK
Unlock a shared exclusive lock.
Definition: psi_rwlock_bits.h:151
@ PSI_RWLOCK_WRITELOCK
Write lock.
Definition: psi_rwlock_bits.h:128
@ PSI_RWLOCK_UNLOCK
Unlock (Read or Write).
Definition: psi_rwlock_bits.h:134
@ PSI_RWLOCK_SHAREDUNLOCK
Unlock a shared lock.
Definition: psi_rwlock_bits.h:149
@ PSI_RWLOCK_SHAREDLOCK
Shared lock.
Definition: psi_rwlock_bits.h:137
@ PSI_RWLOCK_SHAREDEXCLUSIVELOCK
Shared Exclusive lock.
Definition: psi_rwlock_bits.h:139
@ PSI_RWLOCK_EXCLUSIVEUNLOCK
Unlock an exclusive lock.
Definition: psi_rwlock_bits.h:153
@ PSI_RWLOCK_TRYSHAREDEXCLUSIVELOCK
Shared Exclusive lock attempt.
Definition: psi_rwlock_bits.h:145
@ PSI_RWLOCK_TRYSHAREDLOCK
Shared lock attempt.
Definition: psi_rwlock_bits.h:143
@ PSI_RWLOCK_TRYREADLOCK
Read lock attempt.
Definition: psi_rwlock_bits.h:130
@ PSI_RWLOCK_EXCLUSIVELOCK
Exclusive lock.
Definition: psi_rwlock_bits.h:141
@ PSI_RWLOCK_READLOCK
Read lock.
Definition: psi_rwlock_bits.h:126
@ PSI_RWLOCK_TRYEXCLUSIVELOCK
Exclusive lock attempt.
Definition: psi_rwlock_bits.h:147
struct PSI_thread PSI_thread
Definition: psi_thread_bits.h:82
static int count
Definition: myisam_ftdump.cc:43
static const char * category
Definition: sha2_password.cc:170
Performance schema instrumentation interface.
required string key
Definition: replication_asynchronous_connection_failover.proto:60
Instrumented artifact.
Definition: psi_bits.h:177
Rwlock information.
Definition: psi_rwlock_bits.h:162
const char * m_name
The name of the rwlock to register.
Definition: psi_rwlock_bits.h:170
PSI_rwlock_key * m_key
Pointer to the key assigned to the registered rwlock.
Definition: psi_rwlock_bits.h:166
int m_volatility
Volatility index.
Definition: psi_rwlock_bits.h:177
unsigned int m_flags
The flags of the rwlock to register.
Definition: psi_rwlock_bits.h:175
const char * m_documentation
Documentation.
Definition: psi_rwlock_bits.h:179
State data storage for start_rwlock_rdwait_v1_t, start_rwlock_wrwait_v1_t.
Definition: psi_rwlock_bits.h:194
struct PSI_rwlock * m_rwlock
Current rwlock.
Definition: psi_rwlock_bits.h:200
enum PSI_rwlock_operation m_operation
Current operation.
Definition: psi_rwlock_bits.h:198
unsigned long long(* m_timer)(void)
Timer function.
Definition: psi_rwlock_bits.h:206
struct PSI_thread * m_thread
Current thread.
Definition: psi_rwlock_bits.h:202
unsigned long long m_timer_start
Timer start.
Definition: psi_rwlock_bits.h:204
void * m_wait
Internal data.
Definition: psi_rwlock_bits.h:208
unsigned int m_flags
Internal state.
Definition: psi_rwlock_bits.h:196
Interface for an instrumented rwlock.
Definition: psi_rwlock_bits.h:71