MySQL 8.0.40
Source Code Documentation
pfs_events_transactions.h File Reference

Events transactions data structures (declarations). More...

#include <sys/types.h>
#include <atomic>
#include "my_inttypes.h"
#include "sql/rpl_gtid.h"
#include "storage/perfschema/pfs_column_types.h"
#include "storage/perfschema/pfs_events.h"
#include "storage/perfschema/pfs_global.h"

Go to the source code of this file.

Classes

struct  PSI_xid
 struct PSI_xid is binary compatible with the XID structure as in the X/Open CAE Specification, Distributed Transaction Processing: The XA Specification, X/Open Company Ltd., 1991. More...
 
struct  PFS_events_transactions
 A transaction record. More...
 

Macros

#define XIDDATASIZE   128
 

Typedefs

typedef struct PSI_xid PSI_xid
 

Functions

bool xid_printable (PSI_xid *xid, size_t offset, size_t length)
 Check if the XID consists of printable characters, ASCII 32 - 127. More...
 
void insert_events_transactions_history (PFS_thread *thread, PFS_events_transactions *transaction)
 Insert a transaction record in table EVENTS_TRANSACTIONS_HISTORY. More...
 
void insert_events_transactions_history_long (PFS_events_transactions *transaction)
 Insert a transaction record in table EVENTS_TRANSACTIONS_HISTORY_LONG. More...
 
int init_events_transactions_history_long (uint events_transactions_history_long_sizing)
 Initialize table EVENTS_TRANSACTIONS_HISTORY_LONG. More...
 
void cleanup_events_transactions_history_long ()
 Cleanup table EVENTS_TRANSACTIONS_HISTORY_LONG. More...
 
void reset_events_transactions_current ()
 Reset table EVENTS_TRANSACTIONS_CURRENT data. More...
 
void reset_events_transactions_history ()
 Reset table EVENTS_TRANSACTIONS_HISTORY data. More...
 
void reset_events_transactions_history_long ()
 Reset table EVENTS_TRANSACTIONS_HISTORY_LONG data. More...
 
void reset_events_transactions_by_thread ()
 Reset table EVENTS_TRANSACTIONS_SUMMARY_BY_THREAD_BY_EVENT_NAME data. More...
 
void reset_events_transactions_by_account ()
 Reset table EVENTS_TRANSACTIONS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME data. More...
 
void reset_events_transactions_by_user ()
 Reset table EVENTS_TRANSACTIONS_SUMMARY_BY_USER_BY_EVENT_NAME data. More...
 
void reset_events_transactions_by_host ()
 Reset table EVENTS_TRANSACTIONS_SUMMARY_BY_HOST_BY_EVENT_NAME data. More...
 
void reset_events_transactions_global ()
 Reset table EVENTS_TRANSACTIONS_GLOBAL_BY_EVENT_NAME data. More...
 
void aggregate_account_transactions (PFS_account *account)
 
void aggregate_user_transactions (PFS_user *user)
 
void aggregate_host_transactions (PFS_host *host)
 

Variables

bool flag_events_transactions_current
 Consumer flag for table EVENTS_TRANSACTIONS_CURRENT. More...
 
bool flag_events_transactions_history
 Consumer flag for table EVENTS_TRANSACTIONS_HISTORY. More...
 
bool flag_events_transactions_history_long
 Consumer flag for table EVENTS_TRANSACTIONS_HISTORY_LONG. More...
 
bool events_transactions_history_long_full
 True if EVENTS_TRANSACTIONS_HISTORY_LONG circular buffer is full. More...
 
PFS_cacheline_atomic_uint32 events_transactions_history_long_index
 Index in EVENTS_TRANSACTIONS_HISTORY_LONG circular buffer. More...
 
PFS_events_transactionsevents_transactions_history_long_array
 EVENTS_TRANSACTIONS_HISTORY_LONG circular buffer. More...
 
ulong events_transactions_history_long_size
 

Detailed Description

Events transactions data structures (declarations).

Macro Definition Documentation

◆ XIDDATASIZE

#define XIDDATASIZE   128

Typedef Documentation

◆ PSI_xid

typedef struct PSI_xid PSI_xid

Function Documentation

◆ aggregate_account_transactions()

void aggregate_account_transactions ( PFS_account account)

◆ aggregate_host_transactions()

void aggregate_host_transactions ( PFS_host host)

◆ aggregate_user_transactions()

void aggregate_user_transactions ( PFS_user user)

◆ cleanup_events_transactions_history_long()

void cleanup_events_transactions_history_long ( )

Cleanup table EVENTS_TRANSACTIONS_HISTORY_LONG.

◆ init_events_transactions_history_long()

int init_events_transactions_history_long ( uint  events_transactions_history_long_sizing)

Initialize table EVENTS_TRANSACTIONS_HISTORY_LONG.

Parameters
events_transactions_history_long_sizingtable sizing

◆ insert_events_transactions_history()

void insert_events_transactions_history ( PFS_thread thread,
PFS_events_transactions transaction 
)

Insert a transaction record in table EVENTS_TRANSACTIONS_HISTORY.

Parameters
threadthread that executed the wait
transactionrecord to insert

◆ insert_events_transactions_history_long()

void insert_events_transactions_history_long ( PFS_events_transactions transaction)

Insert a transaction record in table EVENTS_TRANSACTIONS_HISTORY_LONG.

Parameters
transactionrecord to insert

◆ reset_events_transactions_by_account()

void reset_events_transactions_by_account ( )

Reset table EVENTS_TRANSACTIONS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME data.

◆ reset_events_transactions_by_host()

void reset_events_transactions_by_host ( )

Reset table EVENTS_TRANSACTIONS_SUMMARY_BY_HOST_BY_EVENT_NAME data.

◆ reset_events_transactions_by_thread()

void reset_events_transactions_by_thread ( )

Reset table EVENTS_TRANSACTIONS_SUMMARY_BY_THREAD_BY_EVENT_NAME data.

◆ reset_events_transactions_by_user()

void reset_events_transactions_by_user ( )

Reset table EVENTS_TRANSACTIONS_SUMMARY_BY_USER_BY_EVENT_NAME data.

◆ reset_events_transactions_current()

void reset_events_transactions_current ( )

Reset table EVENTS_TRANSACTIONS_CURRENT data.

◆ reset_events_transactions_global()

void reset_events_transactions_global ( )

Reset table EVENTS_TRANSACTIONS_GLOBAL_BY_EVENT_NAME data.

◆ reset_events_transactions_history()

void reset_events_transactions_history ( )

Reset table EVENTS_TRANSACTIONS_HISTORY data.

◆ reset_events_transactions_history_long()

void reset_events_transactions_history_long ( )

Reset table EVENTS_TRANSACTIONS_HISTORY_LONG data.

◆ xid_printable()

bool xid_printable ( PSI_xid xid,
size_t  offset,
size_t  length 
)

Check if the XID consists of printable characters, ASCII 32 - 127.

Parameters
xidXID structure
offsetoffset into XID.data[]
lengthnumber of bytes to process
Returns
true if all bytes are in printable range

Variable Documentation

◆ events_transactions_history_long_array

PFS_events_transactions* events_transactions_history_long_array
extern

EVENTS_TRANSACTIONS_HISTORY_LONG circular buffer.

◆ events_transactions_history_long_full

bool events_transactions_history_long_full
extern

True if EVENTS_TRANSACTIONS_HISTORY_LONG circular buffer is full.

◆ events_transactions_history_long_index

PFS_cacheline_atomic_uint32 events_transactions_history_long_index
extern

Index in EVENTS_TRANSACTIONS_HISTORY_LONG circular buffer.

◆ events_transactions_history_long_size

ulong events_transactions_history_long_size
extern

◆ flag_events_transactions_current

bool flag_events_transactions_current
extern

Consumer flag for table EVENTS_TRANSACTIONS_CURRENT.

◆ flag_events_transactions_history

bool flag_events_transactions_history
extern

Consumer flag for table EVENTS_TRANSACTIONS_HISTORY.

◆ flag_events_transactions_history_long

bool flag_events_transactions_history_long
extern

Consumer flag for table EVENTS_TRANSACTIONS_HISTORY_LONG.