MySQL 8.0.40
Source Code Documentation
|
Classes | |
struct | PSI_table_locker_state |
State data storage for start_table_io_wait_v1_t , start_table_lock_wait_v1_t . More... | |
struct | PSI_table_bootstrap |
Entry point for the performance schema interface. More... | |
struct | PSI_table_service_v1 |
Performance Schema Transaction Interface, version 1. More... | |
Macros | |
#define | PSI_TABLE_VERSION_1 1 |
Performance Schema Table Interface number for version 1. More... | |
#define | PSI_CURRENT_TABLE_VERSION 1 |
Performance Schema Table Interface number for the most recent version. More... | |
Typedefs | |
typedef struct PSI_table_locker | PSI_table_locker |
typedef enum PSI_table_io_operation | PSI_table_io_operation |
typedef struct PSI_table_locker_state | PSI_table_locker_state |
typedef struct PSI_table_share | PSI_table_share |
typedef struct PSI_table | PSI_table |
typedef enum PSI_table_lock_operation | PSI_table_lock_operation |
typedef struct PSI_table_share *(* | get_table_share_v1_t) (bool temporary, struct TABLE_SHARE *share) |
Acquire a table share instrumentation. More... | |
typedef void(* | release_table_share_v1_t) (struct PSI_table_share *share) |
Release a table share. More... | |
typedef void(* | drop_table_share_v1_t) (bool temporary, const char *schema_name, int schema_name_length, const char *table_name, int table_name_length) |
Drop a table share. More... | |
typedef struct PSI_table *(* | open_table_v1_t) (struct PSI_table_share *share, const void *identity) |
Open an instrumentation table handle. More... | |
typedef void(* | unbind_table_v1_t) (struct PSI_table *table) |
Unbind a table handle from the current thread. More... | |
typedef PSI_table *(* | rebind_table_v1_t) (PSI_table_share *share, const void *identity, PSI_table *table) |
Rebind a table handle to the current thread. More... | |
typedef void(* | close_table_v1_t) (struct TABLE_SHARE *server_share, struct PSI_table *table) |
Close an instrumentation table handle. More... | |
typedef struct PSI_table_locker *(* | start_table_io_wait_v1_t) (struct PSI_table_locker_state *state, struct PSI_table *table, enum PSI_table_io_operation op, unsigned int index, const char *src_file, unsigned int src_line) |
Record a table instrumentation io wait start event. More... | |
typedef void(* | end_table_io_wait_v1_t) (struct PSI_table_locker *locker, unsigned long long numrows) |
Record a table instrumentation io wait end event. More... | |
typedef struct PSI_table_locker *(* | start_table_lock_wait_v1_t) (struct PSI_table_locker_state *state, struct PSI_table *table, enum PSI_table_lock_operation op, unsigned long flags, const char *src_file, unsigned int src_line) |
Record a table instrumentation lock wait start event. More... | |
typedef void(* | end_table_lock_wait_v1_t) (struct PSI_table_locker *locker) |
Record a table instrumentation lock wait end event. More... | |
typedef void(* | unlock_table_v1_t) (struct PSI_table *table) |
Record a table unlock event. More... | |
typedef struct PSI_table_bootstrap | PSI_table_bootstrap |
typedef struct PSI_table_service_v1 | PSI_table_service_t |
Enumerations | |
enum | PSI_table_io_operation { PSI_TABLE_FETCH_ROW = 0 , PSI_TABLE_WRITE_ROW = 1 , PSI_TABLE_UPDATE_ROW = 2 , PSI_TABLE_DELETE_ROW = 3 } |
IO operation performed on an instrumented table. More... | |
enum | PSI_table_lock_operation { PSI_TABLE_LOCK = 0 , PSI_TABLE_EXTERNAL_LOCK = 1 } |
Lock operation performed on an instrumented table. More... | |
Variables | |
MYSQL_PLUGIN_IMPORT PSI_table_service_t * | psi_table_service |
#define PSI_CURRENT_TABLE_VERSION 1 |
Performance Schema Table Interface number for the most recent version.
The most current version is PSI_TABLE_VERSION_1
#define PSI_TABLE_VERSION_1 1 |
Performance Schema Table Interface number for version 1.
This version is supported.
typedef void(* close_table_v1_t) (struct TABLE_SHARE *server_share, struct PSI_table *table) |
Close an instrumentation table handle.
Note that the table handle is invalid after this call.
server_share | TABLE_SHARE from the SQL layer. |
table | the table handle to close |
typedef void(* drop_table_share_v1_t) (bool temporary, const char *schema_name, int schema_name_length, const char *table_name, int table_name_length) |
Drop a table share.
temporary | True for temporary tables |
schema_name | the table schema name |
schema_name_length | the table schema name length |
table_name | the table name |
table_name_length | the table name length |
typedef void(* end_table_io_wait_v1_t) (struct PSI_table_locker *locker, unsigned long long numrows) |
Record a table instrumentation io wait end event.
locker | a table locker for the running thread |
numrows | the number of rows involved in io |
typedef void(* end_table_lock_wait_v1_t) (struct PSI_table_locker *locker) |
Record a table instrumentation lock wait end event.
locker | a table locker for the running thread |
typedef struct PSI_table_share *(* get_table_share_v1_t) (bool temporary, struct TABLE_SHARE *share) |
Acquire a table share instrumentation.
temporary | True for temporary tables |
share | The SQL layer table share |
typedef struct PSI_table *(* open_table_v1_t) (struct PSI_table_share *share, const void *identity) |
Open an instrumentation table handle.
share | the table to open |
identity | table handle identity |
typedef struct PSI_table_bootstrap PSI_table_bootstrap |
typedef enum PSI_table_io_operation PSI_table_io_operation |
typedef enum PSI_table_lock_operation PSI_table_lock_operation |
typedef struct PSI_table_locker PSI_table_locker |
typedef struct PSI_table_locker_state PSI_table_locker_state |
typedef struct PSI_table_service_v1 PSI_table_service_t |
typedef struct PSI_table_share PSI_table_share |
typedef PSI_table *(* rebind_table_v1_t) (PSI_table_share *share, const void *identity, PSI_table *table) |
Rebind a table handle to the current thread.
This operation happens when a table from the open table cache is reused for a thread.
share | Instrumented table share. |
identity | Table handle identity, typically a memory address. |
table | the table to unbind |
typedef void(* release_table_share_v1_t) (struct PSI_table_share *share) |
Release a table share.
share | the table share to release |
typedef struct PSI_table_locker *(* start_table_io_wait_v1_t) (struct PSI_table_locker_state *state, struct PSI_table *table, enum PSI_table_io_operation op, unsigned int index, const char *src_file, unsigned int src_line) |
Record a table instrumentation io wait start event.
state | data storage for the locker |
table | the instrumented table |
op | the operation to perform |
index | the operation index |
src_file | the source file name |
src_line | the source line number |
typedef struct PSI_table_locker *(* start_table_lock_wait_v1_t) (struct PSI_table_locker_state *state, struct PSI_table *table, enum PSI_table_lock_operation op, unsigned long flags, const char *src_file, unsigned int src_line) |
Record a table instrumentation lock wait start event.
state | data storage for the locker |
table | the instrumented table |
op | the operation to perform |
flags | the operation flags |
src_file | the source file name |
src_line | the source line number |
typedef void(* unbind_table_v1_t) (struct PSI_table *table) |
Unbind a table handle from the current thread.
This operation happens when an opened table is added to the open table cache.
table | the table to unbind |
typedef void(* unlock_table_v1_t) (struct PSI_table *table) |
Record a table unlock event.
table | instrumentation for the table being unlocked |
|
extern |