23 #ifndef COMPONENTS_SERVICES_PSI_RWLOCK_BITS_H 24 #define COMPONENTS_SERVICES_PSI_RWLOCK_BITS_H 48 #define PSI_RWLOCK_VERSION_1 1 55 #define PSI_RWLOCK_VERSION_2 2 62 #define PSI_CURRENT_RWLOCK_VERSION 2 struct PSI_rwlock_locker PSI_rwlock_locker
Definition: psi_rwlock_bits.h:76
PSI_rwlock_key * m_key
Pointer to the key assigned to the registered rwlock.
Definition: psi_rwlock_bits.h:163
Read lock attempt.
Definition: psi_rwlock_bits.h:127
ssize_t count
Definition: memcached.c:386
enum PSI_rwlock_operation m_operation
Current operation.
Definition: psi_rwlock_bits.h:195
Shared Exclusive lock.
Definition: psi_rwlock_bits.h:136
Shared lock attempt.
Definition: psi_rwlock_bits.h:140
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:273
Shared Exclusive lock attempt.
Definition: psi_rwlock_bits.h:142
unsigned long long(* m_timer)(void)
Timer function.
Definition: psi_rwlock_bits.h:203
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:287
void(* unlock_rwlock_v1_t)(struct PSI_rwlock *rwlock)
Record a rwlock instrumentation unlock event.
Definition: psi_rwlock_bits.h:280
Write lock.
Definition: psi_rwlock_bits.h:125
void * m_wait
Internal data.
Definition: psi_rwlock_bits.h:205
Write lock attempt.
Definition: psi_rwlock_bits.h:129
const char * m_documentation
Documentation.
Definition: psi_rwlock_bits.h:176
unsigned int m_flags
Internal state.
Definition: psi_rwlock_bits.h:193
Read lock.
Definition: psi_rwlock_bits.h:123
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:252
void(* register_rwlock_v1_t)(const char *category, struct PSI_rwlock_info_v1 *info, int count)
Rwlock registration API.
Definition: psi_rwlock_bits.h:215
unsigned int m_flags
The flags of the rwlock to register.
Definition: psi_rwlock_bits.h:172
const char * m_name
The name of the rwlock to register.
Definition: psi_rwlock_bits.h:167
int m_volatility
Volatility index.
Definition: psi_rwlock_bits.h:174
Rwlock information.
Definition: psi_rwlock_bits.h:159
unsigned int PSI_rwlock_key
Instrumented rwlock key.
Definition: psi_rwlock_bits.h:41
static const char * key
Definition: suite_stubs.c:14
Shared lock.
Definition: psi_rwlock_bits.h:134
struct PSI_rwlock * m_rwlock
Current rwlock.
Definition: psi_rwlock_bits.h:197
Unlock (Read or Write).
Definition: psi_rwlock_bits.h:131
static const char * category
Definition: sha2_password.cc:166
Exclusive lock attempt.
Definition: psi_rwlock_bits.h:144
Exclusive lock.
Definition: psi_rwlock_bits.h:138
Unlock a shared exclusive lock.
Definition: psi_rwlock_bits.h:148
Unlock a shared lock.
Definition: psi_rwlock_bits.h:146
struct PSI_rwlock PSI_rwlock
Definition: psi_rwlock_bits.h:69
std::decay_t< T > identity
Definition: string_view.h:176
unsigned long long m_timer_start
Timer start.
Definition: psi_rwlock_bits.h:201
Unlock an exclusive lock.
Definition: psi_rwlock_bits.h:150
State data storage for start_rwlock_rdwait_v1_t, start_rwlock_wrwait_v1_t.
Definition: psi_rwlock_bits.h:191
struct PSI_thread * m_thread
Current thread.
Definition: psi_rwlock_bits.h:199
PSI_rwlock_operation
Operation performed on an instrumented rwlock.
Definition: psi_rwlock_bits.h:121
struct PSI_thread PSI_thread
Definition: psi_thread_bits.h:71
void(* destroy_rwlock_v1_t)(struct PSI_rwlock *rwlock)
Rwlock instrumentation destruction API.
Definition: psi_rwlock_bits.h:232