MySQL  8.0.26
Source Code Documentation
pfs.cc File Reference

The performance schema implementation of all instruments. More...

#include "storage/perfschema/pfs.h"
#include "my_config.h"
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <mysql/components/component_implementation.h>
#include <mysql/components/service.h>
#include <mysql/components/service_implementation.h>
#include <mysql/components/services/psi_cond_service.h>
#include <mysql/components/services/psi_error_service.h>
#include <mysql/components/services/psi_file_service.h>
#include <mysql/components/services/psi_idle_service.h>
#include <mysql/components/services/psi_mdl_service.h>
#include <mysql/components/services/psi_memory_service.h>
#include <mysql/components/services/psi_mutex_service.h>
#include <mysql/components/services/psi_rwlock_service.h>
#include <mysql/components/services/psi_socket_service.h>
#include <mysql/components/services/psi_stage_service.h>
#include <mysql/components/services/psi_statement_service.h>
#include <mysql/components/services/psi_system_service.h>
#include <mysql/components/services/psi_table_service.h>
#include <mysql/components/services/psi_thread_service.h>
#include <mysql/components/services/psi_tls_channel_service.h>
#include <mysql/components/services/psi_transaction_service.h>
#include <sys/types.h>
#include <time.h>
#include "lex_string.h"
#include "my_compiler.h"
#include "my_inttypes.h"
#include "my_io.h"
#include "my_macros.h"
#include "my_thread.h"
#include "mysql/psi/mysql_thread.h"
#include "pfs_error_provider.h"
#include "pfs_file_provider.h"
#include "pfs_idle_provider.h"
#include "pfs_memory_provider.h"
#include "pfs_metadata_provider.h"
#include "pfs_socket_provider.h"
#include "pfs_stage_provider.h"
#include "pfs_statement_provider.h"
#include "pfs_system_provider.h"
#include "pfs_table_provider.h"
#include "pfs_thread_provider.h"
#include "pfs_transaction_provider.h"
#include "sql/mdl.h"
#include "sql/sp_head.h"
#include "sql/sql_const.h"
#include "sql/sql_error.h"
#include "storage/perfschema/pfs_account.h"
#include "storage/perfschema/pfs_column_values.h"
#include "storage/perfschema/pfs_data_lock.h"
#include "storage/perfschema/pfs_digest.h"
#include "storage/perfschema/pfs_error.h"
#include "storage/perfschema/pfs_events_stages.h"
#include "storage/perfschema/pfs_events_statements.h"
#include "storage/perfschema/pfs_events_transactions.h"
#include "storage/perfschema/pfs_events_waits.h"
#include "storage/perfschema/pfs_global.h"
#include "storage/perfschema/pfs_host.h"
#include "storage/perfschema/pfs_instr.h"
#include "storage/perfschema/pfs_instr_class.h"
#include "storage/perfschema/pfs_plugin_table.h"
#include "storage/perfschema/pfs_prepared_stmt.h"
#include "storage/perfschema/pfs_program.h"
#include "storage/perfschema/pfs_services.h"
#include "storage/perfschema/pfs_setup_actor.h"
#include "storage/perfschema/pfs_setup_object.h"
#include "storage/perfschema/pfs_timer.h"
#include "storage/perfschema/pfs_tls_channel.h"
#include "storage/perfschema/pfs_user.h"
#include "storage/perfschema/service_pfs_notification.h"
#include "thr_lock.h"

Classes

struct  PFS_spawn_thread_arg
 Arguments given from a parent to a child thread, packaged in one structure. More...
 

Macros

#define HAVE_PSI_COND_INTERFACE
 
#define HAVE_PSI_DATA_LOCK_INTERFACE
 
#define HAVE_PSI_ERROR_INTERFACE
 
#define HAVE_PSI_FILE_INTERFACE
 
#define HAVE_PSI_IDLE_INTERFACE
 
#define HAVE_PSI_MEMORY_INTERFACE
 
#define HAVE_PSI_METADATA_INTERFACE
 
#define HAVE_PSI_MUTEX_INTERFACE
 
#define HAVE_PSI_PS_INTERFACE
 
#define HAVE_PSI_RWLOCK_INTERFACE
 
#define HAVE_PSI_SOCKET_INTERFACE
 
#define HAVE_PSI_SP_INTERFACE
 
#define HAVE_PSI_STAGE_INTERFACE
 
#define HAVE_PSI_STATEMENT_DIGEST_INTERFACE
 
#define HAVE_PSI_STATEMENT_INTERFACE
 
#define HAVE_PSI_SYSTEM_INTERFACE
 
#define HAVE_PSI_TABLE_INTERFACE
 
#define HAVE_PSI_THREAD_INTERFACE
 
#define HAVE_PSI_TRANSACTION_INTERFACE
 
#define HAVE_PSI_TLS_CHANNEL_INTERFACE
 
#define HAVE_PSI_2
 
#define DISABLE_PSI_COND
 Compiling option to disable the cond instrumentation. More...
 
#define DISABLE_PSI_DATA_LOCK
 Compiling option to disable the data lock instrumentation. More...
 
#define DISABLE_PSI_ERROR
 Compiling option to disable the error instrumentation. More...
 
#define DISABLE_PSI_FILE
 Compiling option to disable the file instrumentation. More...
 
#define DISABLE_PSI_IDLE
 Compiling option to disable the idle instrumentation. More...
 
#define DISABLE_PSI_MEMORY
 Compiling option to disable the memory instrumentation. More...
 
#define DISABLE_PSI_METADATA
 Compiling option to disable the metadata instrumentation. More...
 
#define DISABLE_PSI_MUTEX
 Compiling option to disable the mutex instrumentation. More...
 
#define DISABLE_PSI_PS
 Compiling option to disable the prepared statement instrumentation. More...
 
#define DISABLE_PSI_RWLOCK
 Compiling option to disable the rwlock instrumentation. More...
 
#define DISABLE_PSI_SOCKET
 Compiling option to disable the statement instrumentation. More...
 
#define DISABLE_PSI_SP
 Compiling option to disable the stored program instrumentation. More...
 
#define DISABLE_PSI_STAGE
 Compiling option to disable the stage instrumentation. More...
 
#define DISABLE_PSI_STATEMENT
 Compiling option to disable the statement instrumentation. More...
 
#define DISABLE_PSI_STATEMENT_DIGEST
 Compiling option to disable the statement digest instrumentation. More...
 
#define DISABLE_PSI_SYSTEM
 Compiling option to disable the system instrumentation. More...
 
#define DISABLE_PSI_TABLE
 Compiling option to disable the table instrumentation. More...
 
#define DISABLE_PSI_THREAD
 Compiling option to disable the thread instrumentation. More...
 
#define DISABLE_PSI_TRANSACTION
 Compiling option to disable the transaction instrumentation. More...
 
#define DISABLE_PSI_TLS_CHANNEL
 Compiling option to disable TLS Channel instrumentation. More...
 
#define REGISTER_BODY_V1(KEY_T, PREFIX, REGISTER_FUNC)
 
#define SET_STATEMENT_ATTR_BODY(LOCKER, ATTR, VALUE)
 
#define INC_STATEMENT_ATTR_BODY(LOCKER, ATTR, VALUE)
 
#define INC_TRANSACTION_ATTR_BODY(LOCKER, ATTR, VALUE)
 

Functions

static PFS_threadmy_thread_get_THR_PFS ()
 
static void my_thread_set_THR_PFS (PFS_thread *pfs)
 
static int build_prefix (const LEX_CSTRING *prefix, const char *category, char *output, size_t *output_length)
 Build the prefix name of a class of instruments in a category. More...
 
void pfs_register_mutex_v1 (const char *category, PSI_mutex_info_v1 *info, int count)
 Implementation of the mutex instrumentation interface. More...
 
void pfs_register_rwlock_v2 (const char *category, PSI_rwlock_info_v1 *info, int count)
 Implementation of the rwlock instrumentation interface. More...
 
void pfs_register_cond_v1 (const char *category, PSI_cond_info_v1 *info, int count)
 Implementation of the cond instrumentation interface. More...
 
void pfs_register_thread_vc (const char *category, PSI_thread_info *info, int count)
 Implementation of the thread instrumentation interface. More...
 
void pfs_register_file_vc (const char *category, PSI_file_info_v1 *info, int count)
 Implementation of the file instrumentation interface. More...
 
void pfs_register_stage_v1 (const char *category, PSI_stage_info_v1 **info_array, int count)
 
void pfs_register_statement_v2 (const char *category, PSI_statement_info *info, int count)
 
void pfs_register_socket_v1 (const char *category, PSI_socket_info_v1 *info, int count)
 
PSI_mutexpfs_init_mutex_v1 (PSI_mutex_key key, const void *identity)
 Implementation of the mutex instrumentation interface. More...
 
void pfs_destroy_mutex_v1 (PSI_mutex *mutex)
 Implementation of the mutex instrumentation interface. More...
 
PSI_rwlockpfs_init_rwlock_v2 (PSI_rwlock_key key, const void *identity)
 Implementation of the rwlock instrumentation interface. More...
 
void pfs_destroy_rwlock_v2 (PSI_rwlock *rwlock)
 Implementation of the rwlock instrumentation interface. More...
 
PSI_condpfs_init_cond_v1 (PSI_cond_key key, const void *identity)
 Implementation of the cond instrumentation interface. More...
 
void pfs_destroy_cond_v1 (PSI_cond *cond)
 Implementation of the cond instrumentation interface. More...
 
PSI_table_sharepfs_get_table_share_v1 (bool temporary, TABLE_SHARE *share)
 Implementation of the table instrumentation interface. More...
 
void pfs_release_table_share_v1 (PSI_table_share *share)
 Implementation of the table instrumentation interface. More...
 
void pfs_drop_table_share_v1 (bool temporary, const char *schema_name, int schema_name_length, const char *table_name, int table_name_length)
 Implementation of the table instrumentation interface. More...
 
PSI_tablepfs_open_table_v1 (PSI_table_share *share, const void *identity)
 Implementation of the table instrumentation interface. More...
 
void pfs_unbind_table_v1 (PSI_table *table)
 Implementation of the table instrumentation interface. More...
 
PSI_tablepfs_rebind_table_v1 (PSI_table_share *share, const void *identity, PSI_table *table)
 Implementation of the table instrumentation interface. More...
 
void pfs_close_table_v1 (TABLE_SHARE *server_share, PSI_table *table)
 Implementation of the table instrumentation interface. More...
 
PSI_socketpfs_init_socket_v1 (PSI_socket_key key, const my_socket *fd, const struct sockaddr *addr, socklen_t addr_len)
 
void pfs_destroy_socket_v1 (PSI_socket *socket)
 
void pfs_create_file_vc (PSI_file_key key, const char *name, File file)
 Implementation of the file instrumentation interface. More...
 
static void * pfs_spawn_thread (void *arg)
 
int pfs_spawn_thread_vc (PSI_thread_key key, my_thread_handle *thread, const my_thread_attr_t *attr, void *(*start_routine)(void *), void *arg)
 Implementation of the thread instrumentation interface. More...
 
PSI_threadpfs_new_thread_vc (PSI_thread_key key, const void *identity, ulonglong processlist_id)
 Implementation of the thread instrumentation interface. More...
 
void pfs_set_thread_id_vc (PSI_thread *thread, ulonglong processlist_id)
 Implementation of the thread instrumentation interface. More...
 
ulonglong pfs_get_current_thread_internal_id_vc ()
 Implementation of the thread instrumentation interface. More...
 
ulonglong pfs_get_thread_internal_id_vc (PSI_thread *thread)
 Implementation of the thread instrumentation interface. More...
 
PSI_threadpfs_get_thread_by_id_vc (ulonglong processlist_id)
 Implementation of the thread instrumentation interface. More...
 
void pfs_set_thread_THD_vc (PSI_thread *thread, THD *thd)
 Implementation of the thread instrumentation interface. More...
 
void pfs_set_thread_os_id_vc (PSI_thread *thread)
 Implementation of the thread instrumentation interface. More...
 
PSI_threadpfs_get_thread_vc (void)
 Implementation of the thread instrumentation interface. More...
 
void pfs_set_thread_user_vc (const char *user, int user_len)
 Implementation of the thread instrumentation interface. More...
 
void pfs_set_thread_account_vc (const char *user, int user_len, const char *host, int host_len)
 Implementation of the thread instrumentation interface. More...
 
void pfs_set_thread_db_vc (const char *db, int db_len)
 Implementation of the thread instrumentation interface. More...
 
void pfs_set_thread_command_vc (int command)
 Implementation of the thread instrumentation interface. More...
 
void pfs_set_connection_type_vc (opaque_vio_type conn_type)
 Implementation of the thread instrumentation interface. More...
 
void pfs_set_thread_start_time_vc (time_t start_time)
 Implementation of the thread instrumentation interface. More...
 
void pfs_set_thread_state_v1 (const char *)
 Implementation of the thread instrumentation interface. More...
 
void pfs_set_thread_info_vc (const char *info, uint info_len)
 Implementation of the thread instrumentation interface. More...
 
int set_thread_resource_group (PFS_thread *pfs, const char *group_name, int group_name_len, void *user_data)
 Set the resource group name for a given thread. More...
 
int pfs_set_thread_resource_group_vc (const char *group_name, int group_name_len, void *user_data)
 Implementation of the thread instrumentation interface. More...
 
int pfs_set_thread_resource_group_by_id_vc (PSI_thread *thread, ulonglong thread_id, const char *group_name, int group_name_len, void *user_data)
 Implementation of the thread instrumentation interface. More...
 
int get_thread_attributes (PFS_thread *pfs, bool current_thread, PSI_thread_attrs *thread_attrs)
 Get the system and session attributes for a given PFS_thread. More...
 
int pfs_get_thread_system_attrs_vc (PSI_thread_attrs *thread_attrs)
 Implementation of the thread instrumentation interface. More...
 
int pfs_get_thread_system_attrs_by_id_vc (PSI_thread *thread, ulonglong thread_id, PSI_thread_attrs *thread_attrs)
 Implementation of the thread instrumentation interface. More...
 
int pfs_register_notification_vc (const PSI_notification *callbacks, bool with_ref_count)
 Implementation of the thread instrumentation interface. More...
 
int pfs_unregister_notification_vc (int handle)
 Implementation of the thread instrumentation interface. More...
 
void pfs_notify_session_connect_vc (PSI_thread *thread)
 Implementation of the thread instrumentation interface. More...
 
void pfs_notify_session_disconnect_vc (PSI_thread *thread)
 Implementation of the thread instrumentation interface. More...
 
void pfs_notify_session_change_user_vc (PSI_thread *thread)
 Implementation of the thread instrumentation interface. More...
 
void pfs_set_thread_vc (PSI_thread *thread)
 Implementation of the thread instrumentation interface. More...
 
void pfs_set_thread_peer_port_vc (PSI_thread *thread, uint port)
 Implementation of the thread instrumentation interface. More...
 
void pfs_aggregate_thread_status_vc (PSI_thread *thread)
 Implementation of the thread instrumentation interface. More...
 
void pfs_delete_current_thread_vc (void)
 Implementation of the thread instrumentation interface. More...
 
void pfs_delete_thread_vc (PSI_thread *thread)
 Implementation of the thread instrumentation interface. More...
 
PSI_mutex_lockerpfs_start_mutex_wait_v1 (PSI_mutex_locker_state *state, PSI_mutex *mutex, PSI_mutex_operation op, const char *src_file, uint src_line)
 Implementation of the mutex instrumentation interface. More...
 
static PSI_rwlock_lockerpfs_start_rwlock_wait_v2 (PSI_rwlock_locker_state *state, PSI_rwlock *rwlock, PSI_rwlock_operation op, const char *src_file, uint src_line)
 Implementation of the rwlock instrumentation interface. More...
 
PSI_rwlock_lockerpfs_start_rwlock_rdwait_v2 (PSI_rwlock_locker_state *state, PSI_rwlock *rwlock, PSI_rwlock_operation op, const char *src_file, uint src_line)
 
PSI_rwlock_lockerpfs_start_rwlock_wrwait_v2 (PSI_rwlock_locker_state *state, PSI_rwlock *rwlock, PSI_rwlock_operation op, const char *src_file, uint src_line)
 
PSI_cond_lockerpfs_start_cond_wait_v1 (PSI_cond_locker_state *state, PSI_cond *cond, PSI_mutex *mutex, PSI_cond_operation op, const char *src_file, uint src_line)
 Implementation of the cond instrumentation interface. More...
 
static PFS_TL_LOCK_TYPE lock_flags_to_lock_type (uint flags)
 
static PFS_TL_LOCK_TYPE external_lock_flags_to_lock_type (uint flags)
 
PSI_table_lockerpfs_start_table_io_wait_v1 (PSI_table_locker_state *state, PSI_table *table, PSI_table_io_operation op, uint index, const char *src_file, uint src_line)
 Implementation of the table instrumentation interface. More...
 
PSI_table_lockerpfs_start_table_lock_wait_v1 (PSI_table_locker_state *state, PSI_table *table, PSI_table_lock_operation op, ulong op_flags, const char *src_file, uint src_line)
 Implementation of the table instrumentation interface. More...
 
PSI_file_lockerpfs_get_thread_file_name_locker_vc (PSI_file_locker_state *state, PSI_file_key key, PSI_file_operation op, const char *name, const void *)
 Implementation of the file instrumentation interface. More...
 
PSI_file_lockerpfs_get_thread_file_stream_locker_vc (PSI_file_locker_state *state, PSI_file *file, PSI_file_operation op)
 Implementation of the file instrumentation interface. More...
 
PSI_file_lockerpfs_get_thread_file_descriptor_locker_vc (PSI_file_locker_state *state, File file, PSI_file_operation op)
 Implementation of the file instrumentation interface. More...
 
PSI_socket_lockerpfs_start_socket_wait_v1 (PSI_socket_locker_state *state, PSI_socket *socket, PSI_socket_operation op, size_t count, const char *src_file, uint src_line)
 Socket locker. More...
 
void pfs_unlock_mutex_v1 (PSI_mutex *mutex)
 Implementation of the mutex instrumentation interface. More...
 
void pfs_unlock_rwlock_v2 (PSI_rwlock *rwlock, PSI_rwlock_operation op)
 Implementation of the rwlock instrumentation interface. More...
 
void pfs_signal_cond_v1 (PSI_cond *cond)
 Implementation of the cond instrumentation interface. More...
 
void pfs_broadcast_cond_v1 (PSI_cond *cond)
 Implementation of the cond instrumentation interface. More...
 
PSI_idle_lockerpfs_start_idle_wait_v1 (PSI_idle_locker_state *state, const char *src_file, uint src_line)
 Implementation of the idle instrumentation interface. More...
 
void pfs_end_idle_wait_v1 (PSI_idle_locker *locker)
 Implementation of the mutex instrumentation interface. More...
 
void pfs_end_mutex_wait_v1 (PSI_mutex_locker *locker, int rc)
 Implementation of the mutex instrumentation interface. More...
 
void pfs_end_rwlock_rdwait_v2 (PSI_rwlock_locker *locker, int rc)
 Implementation of the rwlock instrumentation interface. More...
 
void pfs_end_rwlock_wrwait_v2 (PSI_rwlock_locker *locker, int rc)
 Implementation of the rwlock instrumentation interface. More...
 
void pfs_end_cond_wait_v1 (PSI_cond_locker *locker, int)
 Implementation of the cond instrumentation interface. More...
 
void pfs_end_table_io_wait_v1 (PSI_table_locker *locker, ulonglong numrows)
 Implementation of the table instrumentation interface. More...
 
void pfs_end_table_lock_wait_v1 (PSI_table_locker *locker)
 Implementation of the table instrumentation interface. More...
 
void pfs_start_file_wait_vc (PSI_file_locker *locker, size_t count, const char *src_file, uint src_line)
 Implementation of the file instrumentation interface. More...
 
void pfs_end_file_wait_vc (PSI_file_locker *locker, size_t byte_count)
 Implementation of the file instrumentation interface. More...
 
void pfs_start_file_open_wait_vc (PSI_file_locker *locker, const char *src_file, uint src_line)
 Implementation of the file instrumentation interface. More...
 
PSI_filepfs_end_file_open_wait_vc (PSI_file_locker *locker, void *result)
 Implementation of the file instrumentation interface. More...
 
void pfs_end_file_open_wait_and_bind_to_descriptor_vc (PSI_file_locker *locker, File file)
 Implementation of the file instrumentation interface. More...
 
void pfs_end_temp_file_open_wait_and_bind_to_descriptor_vc (PSI_file_locker *locker, File file, const char *filename)
 Implementation of the file instrumentation interface. More...
 
void pfs_start_file_close_wait_vc (PSI_file_locker *locker, const char *src_file, uint src_line)
 Implementation of the file instrumentation interface. More...
 
void pfs_end_file_close_wait_vc (PSI_file_locker *locker, int rc)
 Implementation of the file instrumentation interface. More...
 
void pfs_start_file_rename_wait_vc (PSI_file_locker *locker, size_t count, const char *old_name, const char *new_name, const char *src_file, uint src_line)
 Implementation of the file instrumentation interface. More...
 
void pfs_end_file_rename_wait_vc (PSI_file_locker *locker, const char *old_name, const char *new_name, int rc)
 Implementation of the file instrumentation interface. More...
 
PSI_stage_progresspfs_start_stage_v1 (PSI_stage_key key, const char *src_file, int src_line)
 
PSI_stage_progresspfs_get_current_stage_progress_v1 ()
 
void pfs_end_stage_v1 ()
 
PSI_statement_lockerpfs_get_thread_statement_locker_v2 (PSI_statement_locker_state *state, PSI_statement_key key, const void *charset, PSI_sp_share *sp_share)
 
PSI_statement_lockerpfs_refine_statement_v2 (PSI_statement_locker *locker, PSI_statement_key key)
 
void pfs_start_statement_v2 (PSI_statement_locker *locker, const char *db, uint db_len, const char *src_file, uint src_line)
 
void pfs_set_statement_text_v2 (PSI_statement_locker *locker, const char *text, uint text_len)
 
void pfs_set_statement_query_id_v2 (PSI_statement_locker *locker, ulonglong query_id)
 
void pfs_set_statement_lock_time_v2 (PSI_statement_locker *locker, ulonglong count)
 
void pfs_set_statement_rows_sent_v2 (PSI_statement_locker *locker, ulonglong count)
 
void pfs_set_statement_rows_examined_v2 (PSI_statement_locker *locker, ulonglong count)
 
void pfs_inc_statement_created_tmp_disk_tables_v2 (PSI_statement_locker *locker, ulong count)
 
void pfs_inc_statement_created_tmp_tables_v2 (PSI_statement_locker *locker, ulong count)
 
void pfs_inc_statement_select_full_join_v2 (PSI_statement_locker *locker, ulong count)
 
void pfs_inc_statement_select_full_range_join_v2 (PSI_statement_locker *locker, ulong count)
 
void pfs_inc_statement_select_range_v2 (PSI_statement_locker *locker, ulong count)
 
void pfs_inc_statement_select_range_check_v2 (PSI_statement_locker *locker, ulong count)
 
void pfs_inc_statement_select_scan_v2 (PSI_statement_locker *locker, ulong count)
 
void pfs_inc_statement_sort_merge_passes_v2 (PSI_statement_locker *locker, ulong count)
 
void pfs_inc_statement_sort_range_v2 (PSI_statement_locker *locker, ulong count)
 
void pfs_inc_statement_sort_rows_v2 (PSI_statement_locker *locker, ulong count)
 
void pfs_inc_statement_sort_scan_v2 (PSI_statement_locker *locker, ulong count)
 
void pfs_set_statement_no_index_used_v2 (PSI_statement_locker *locker)
 
void pfs_set_statement_no_good_index_used_v2 (PSI_statement_locker *locker)
 
void pfs_end_statement_v2 (PSI_statement_locker *locker, void *stmt_da)
 
static enum_object_type sp_type_to_object_type (uint sp_type)
 
static PSI_sp_sharepfs_get_sp_share_v2 (uint sp_type, const char *schema_name, uint schema_name_length, const char *object_name, uint object_name_length)
 Implementation of the stored program instrumentation interface. More...
 
static void pfs_release_sp_share_v2 (PSI_sp_share *)
 
static PSI_sp_lockerpfs_start_sp_v2 (PSI_sp_locker_state *state, PSI_sp_share *sp_share)
 
static void pfs_end_sp_v2 (PSI_sp_locker *locker)
 
static void pfs_drop_sp_v2 (uint sp_type, const char *schema_name, uint schema_name_length, const char *object_name, uint object_name_length)
 
PSI_transaction_lockerpfs_get_thread_transaction_locker_v1 (PSI_transaction_locker_state *state, const void *xid, const ulonglong *trxid, int isolation_level, bool read_only, bool autocommit)
 
void pfs_start_transaction_v1 (PSI_transaction_locker *locker, const char *src_file, uint src_line)
 
void pfs_set_transaction_gtid_v1 (PSI_transaction_locker *locker, const void *sid, const void *gtid_spec)
 
void pfs_set_transaction_xid_v1 (PSI_transaction_locker *locker, const void *xid, int xa_state)
 
void pfs_set_transaction_xa_state_v1 (PSI_transaction_locker *locker, int xa_state)
 
void pfs_set_transaction_trxid_v1 (PSI_transaction_locker *locker, const ulonglong *trxid)
 
void pfs_inc_transaction_savepoints_v1 (PSI_transaction_locker *locker, ulong count)
 
void pfs_inc_transaction_rollback_to_savepoint_v1 (PSI_transaction_locker *locker, ulong count)
 
void pfs_inc_transaction_release_savepoint_v1 (PSI_transaction_locker *locker, ulong count)
 
void pfs_end_transaction_v1 (PSI_transaction_locker *locker, bool commit)
 
void pfs_end_socket_wait_v1 (PSI_socket_locker *locker, size_t byte_count)
 Implementation of the socket instrumentation interface. More...
 
void pfs_set_socket_state_v1 (PSI_socket *socket, PSI_socket_state state)
 
void pfs_set_socket_info_v1 (PSI_socket *socket, const my_socket *fd, const struct sockaddr *addr, socklen_t addr_len)
 Set socket descriptor and address info. More...
 
void pfs_set_socket_thread_owner_v1 (PSI_socket *socket)
 Implementation of the socket instrumentation interface. More...
 
struct PSI_digest_lockerpfs_digest_start_v2 (PSI_statement_locker *locker)
 
void pfs_digest_end_v2 (PSI_digest_locker *locker, const sql_digest_storage *digest)
 
PSI_prepared_stmtpfs_create_prepared_stmt_v2 (void *identity, uint stmt_id, PSI_statement_locker *locker, const char *stmt_name, size_t stmt_name_length, const char *sql_text, size_t sql_text_length)
 
void pfs_execute_prepared_stmt_v2 (PSI_statement_locker *locker, PSI_prepared_stmt *ps)
 
void pfs_destroy_prepared_stmt_v2 (PSI_prepared_stmt *prepared_stmt)
 
void pfs_reprepare_prepared_stmt_v2 (PSI_prepared_stmt *prepared_stmt)
 
void pfs_set_prepared_stmt_text_v2 (PSI_prepared_stmt *prepared_stmt, const char *text, uint text_len)
 
int pfs_set_thread_connect_attrs_vc (const char *buffer, uint length, const void *from_cs)
 Implementation of the thread attribute connection interface. More...
 
void pfs_get_current_thread_event_id_vc (ulonglong *internal_thread_id, ulonglong *event_id)
 Implementation of the get event id interface. More...
 
void pfs_get_thread_event_id_v1 (ulonglong *internal_thread_id, ulonglong *event_id)
 Implementation of the get event id interface. More...
 
void pfs_get_thread_event_id_vc (PSI_thread *psi, ulonglong *internal_thread_id, ulonglong *event_id)
 Implementation of the get event id interface. More...
 
void pfs_register_memory_vc (const char *category, PSI_memory_info_v1 *info, int count)
 
PSI_memory_key pfs_memory_alloc_vc (PSI_memory_key key, size_t size, PSI_thread **owner)
 
PSI_memory_key pfs_memory_realloc_vc (PSI_memory_key key, size_t old_size, size_t new_size, PSI_thread **owner)
 
PSI_memory_key pfs_memory_claim_vc (PSI_memory_key key, size_t size, PSI_thread **owner, bool claim)
 
void pfs_memory_free_vc (PSI_memory_key key, size_t size, PSI_thread *owner)
 
void pfs_unlock_table_v1 (PSI_table *table)
 
PSI_metadata_lockpfs_create_metadata_lock_vc (void *identity, const MDL_key *mdl_key, opaque_mdl_type mdl_type, opaque_mdl_duration mdl_duration, opaque_mdl_status mdl_status, const char *src_file, uint src_line)
 
void pfs_set_metadata_lock_status_vc (PSI_metadata_lock *lock, opaque_mdl_status mdl_status)
 
void pfs_set_metadata_lock_duration_vc (PSI_metadata_lock *lock, opaque_mdl_duration mdl_duration)
 
void pfs_destroy_metadata_lock_vc (PSI_metadata_lock *lock)
 
PSI_metadata_lockerpfs_start_metadata_wait_vc (PSI_metadata_locker_state *state, PSI_metadata_lock *lock, const char *src_file, uint src_line)
 
void pfs_end_metadata_wait_vc (PSI_metadata_locker *locker, int)
 
void pfs_log_error_v1 (uint error_num, PSI_error_operation error_operation)
 
void pfs_register_data_lock_v1 (PSI_engine_data_lock_inspector *inspector)
 
void pfs_unregister_data_lock_v1 (PSI_engine_data_lock_inspector *)
 
void pfs_unload_plugin_v1 (const char *plugin_name)
 Implementation of the thread instrumentation interface. More...
 
const mysql_service_psi_thread_v4_t SERVICE_IMPLEMENTATION (performance_schema, psi_thread_v4)
 
const mysql_service_psi_mutex_v1_t SERVICE_IMPLEMENTATION (performance_schema, psi_mutex_v1)
 
const mysql_service_psi_rwlock_v2_t SERVICE_IMPLEMENTATION (performance_schema, psi_rwlock_v2)
 
const mysql_service_psi_cond_v1_t SERVICE_IMPLEMENTATION (performance_schema, psi_cond_v1)
 
const mysql_service_psi_file_v2_t SERVICE_IMPLEMENTATION (performance_schema, psi_file_v2)
 
const mysql_service_psi_socket_v1_t SERVICE_IMPLEMENTATION (performance_schema, psi_socket_v1)
 
const mysql_service_psi_table_v1_t SERVICE_IMPLEMENTATION (performance_schema, psi_table_v1)
 
const mysql_service_psi_mdl_v1_t SERVICE_IMPLEMENTATION (performance_schema, psi_mdl_v1)
 
const mysql_service_psi_mdl_v2_t SERVICE_IMPLEMENTATION (performance_schema, psi_mdl_v2)
 
const mysql_service_psi_idle_v1_t SERVICE_IMPLEMENTATION (performance_schema, psi_idle_v1)
 
const mysql_service_psi_stage_v1_t SERVICE_IMPLEMENTATION (performance_schema, psi_stage_v1)
 
const mysql_service_psi_statement_v1_t SERVICE_IMPLEMENTATION (performance_schema, psi_statement_v1)
 
const mysql_service_psi_statement_v2_t SERVICE_IMPLEMENTATION (performance_schema, psi_statement_v2)
 
const mysql_service_psi_transaction_v1_t SERVICE_IMPLEMENTATION (performance_schema, psi_transaction_v1)
 
const mysql_service_psi_memory_v2_t SERVICE_IMPLEMENTATION (performance_schema, psi_memory_v2)
 
const mysql_service_psi_error_v1_t SERVICE_IMPLEMENTATION (performance_schema, psi_error_v1)
 
const mysql_service_psi_tls_channel_v1_t SERVICE_IMPLEMENTATION (performance_schema, psi_tls_channel_v1)
 
static void * get_system_interface (int version)
 
static void * get_thread_interface (int version)
 
static void * get_mutex_interface (int version)
 
static void * get_rwlock_interface (int version)
 
static void * get_cond_interface (int version)
 
static void * get_file_interface (int version)
 
static void * get_socket_interface (int version)
 
static void * get_table_interface (int version)
 
static void * get_mdl_interface (int version)
 
static void * get_idle_interface (int version)
 
static void * get_stage_interface (int version)
 
static void * get_statement_interface (int version)
 
static void * get_transaction_interface (int version)
 
static void * get_memory_interface (int version)
 
static void * get_error_interface (int version)
 
static void * get_data_lock_interface (int version)
 
static void * get_tls_channel_interface (int version)
 
 PROVIDES_SERVICE (performance_schema, psi_cond_v1)
 
 PROVIDES_SERVICE (performance_schema, psi_error_v1)
 
 PROVIDES_SERVICE (performance_schema, psi_file_v2)
 
 PROVIDES_SERVICE (performance_schema, psi_idle_v1)
 
 PROVIDES_SERVICE (performance_schema, psi_mdl_v1)
 
 PROVIDES_SERVICE (performance_schema, psi_mdl_v2)
 
 PROVIDES_SERVICE (performance_schema, psi_memory_v2)
 
 PROVIDES_SERVICE (performance_schema, psi_mutex_v1)
 
 PROVIDES_SERVICE (performance_schema, psi_rwlock_v2)
 
 PROVIDES_SERVICE (performance_schema, psi_socket_v1)
 
 PROVIDES_SERVICE (performance_schema, psi_stage_v1)
 
 PROVIDES_SERVICE (performance_schema, psi_statement_v1)
 
 PROVIDES_SERVICE (performance_schema, psi_statement_v2)
 
 PROVIDES_SERVICE (performance_schema, psi_system_v1)
 
 PROVIDES_SERVICE (performance_schema, psi_table_v1)
 
 PROVIDES_SERVICE (performance_schema, psi_thread_v4)
 
 PROVIDES_SERVICE (performance_schema, psi_transaction_v1)
 
 PROVIDES_SERVICE (performance_schema, pfs_plugin_table)
 
 PROVIDES_SERVICE (performance_schema, pfs_plugin_table_v1)
 
 PROVIDES_SERVICE (performance_schema, pfs_plugin_column_tiny_v1)
 
 PROVIDES_SERVICE (performance_schema, pfs_plugin_column_small_v1)
 
 PROVIDES_SERVICE (performance_schema, pfs_plugin_column_medium_v1)
 
 PROVIDES_SERVICE (performance_schema, pfs_plugin_column_integer_v1)
 
 PROVIDES_SERVICE (performance_schema, pfs_plugin_column_bigint_v1)
 
 PROVIDES_SERVICE (performance_schema, pfs_plugin_column_decimal_v1)
 
 PROVIDES_SERVICE (performance_schema, pfs_plugin_column_float_v1)
 
 PROVIDES_SERVICE (performance_schema, pfs_plugin_column_double_v1)
 
 PROVIDES_SERVICE (performance_schema, pfs_plugin_column_string_v1)
 
 PROVIDES_SERVICE (performance_schema, pfs_plugin_column_blob_v1)
 
 PROVIDES_SERVICE (performance_schema, pfs_plugin_column_enum_v1)
 
 PROVIDES_SERVICE (performance_schema, pfs_plugin_column_date_v1)
 
 PROVIDES_SERVICE (performance_schema, pfs_plugin_column_time_v1)
 
 PROVIDES_SERVICE (performance_schema, pfs_plugin_column_datetime_v1)
 
 PROVIDES_SERVICE (performance_schema, pfs_plugin_column_timestamp_v1)
 
 PROVIDES_SERVICE (performance_schema, pfs_plugin_column_timestamp_v2)
 
 PROVIDES_SERVICE (performance_schema, pfs_plugin_column_year_v1)
 
 PROVIDES_SERVICE (performance_schema, psi_tls_channel_v1)
 
 END_COMPONENT_PROVIDES ()
 
static BEGIN_COMPONENT_REQUIRES (performance_schema) END_COMPONENT_REQUIRES()
 
 METADATA ("mysql.author", "Oracle Corporation")
 
 METADATA ("mysql.license", "GPL")
 
 END_COMPONENT_METADATA ()
 
bool pfs_init_services (const mysql_service_registry_registration_t *reg)
 
bool pfs_deinit_services (const mysql_service_registry_registration_t *reg)
 

Variables

thread_local PFS_threadTHR_PFS = nullptr
 Performance schema Thread Local Storage. More...
 
static enum_operation_type mutex_operation_map []
 Conversion map from PSI_mutex_operation to enum_operation_type. More...
 
static enum_operation_type rwlock_operation_map []
 Conversion map from PSI_rwlock_operation to enum_operation_type. More...
 
static enum_operation_type cond_operation_map []
 Conversion map from PSI_cond_operation to enum_operation_type. More...
 
static enum_operation_type file_operation_map []
 Conversion map from PSI_file_operation to enum_operation_type. More...
 
static enum_operation_type table_io_operation_map []
 Conversion map from PSI_table_operation to enum_operation_type. More...
 
static enum_operation_type table_lock_operation_map []
 Conversion map from enum PFS_TL_LOCK_TYPE to enum_operation_type. More...
 
static enum_operation_type socket_operation_map []
 Conversion map from PSI_socket_operation to enum_operation_type. More...
 
PSI_system_service_v1 pfs_system_service_v1
 Implementation of the instrumentation interface. More...
 
const mysql_service_psi_system_v1_t SERVICE_IMPLEMENTATION (performance_schema, psi_system_v1)
 
PSI_thread_service_v4 pfs_thread_service_v4
 Implementation of the instrumentation interface. More...
 
PSI_mutex_service_v1 pfs_mutex_service_v1
 
PSI_rwlock_service_v2 pfs_rwlock_service_v2
 
PSI_cond_service_v1 pfs_cond_service_v1
 
PSI_file_service_v2 pfs_file_service_v2
 
PSI_socket_service_v1 pfs_socket_service_v1
 
PSI_table_service_v1 pfs_table_service_v1
 
PSI_mdl_service_v1 pfs_mdl_service_v1
 
PSI_mdl_service_v2 pfs_mdl_service_v2
 
PSI_idle_service_v1 pfs_idle_service_v1
 
PSI_stage_service_v1 pfs_stage_service_v1
 
PSI_statement_service_v2 pfs_statement_service_v2
 
PSI_transaction_service_v1 pfs_transaction_service_v1
 
PSI_memory_service_v2 pfs_memory_service_v2
 
PSI_error_service_v1 pfs_error_service_v1
 
PSI_data_lock_service_v1 pfs_data_lock_service_v1
 
PSI_tls_channel_service_v1 pfs_tls_channel_service_v1
 
struct PSI_cond_bootstrap pfs_cond_bootstrap = {get_cond_interface}
 Entry point to the performance schema implementation. More...
 
struct PSI_data_lock_bootstrap pfs_data_lock_bootstrap
 
PSI_engine_data_lock_inspectorg_data_lock_inspector [COUNT_DATA_LOCK_ENGINES]
 
unsigned int g_data_lock_inspector_count = 0
 
struct PSI_error_bootstrap pfs_error_bootstrap = {get_error_interface}
 
struct PSI_file_bootstrap pfs_file_bootstrap = {get_file_interface}
 
struct PSI_idle_bootstrap pfs_idle_bootstrap = {get_idle_interface}
 
struct PSI_mdl_bootstrap pfs_mdl_bootstrap = {get_mdl_interface}
 
struct PSI_memory_bootstrap pfs_memory_bootstrap = {get_memory_interface}
 
struct PSI_mutex_bootstrap pfs_mutex_bootstrap = {get_mutex_interface}
 
struct PSI_rwlock_bootstrap pfs_rwlock_bootstrap = {get_rwlock_interface}
 
struct PSI_socket_bootstrap pfs_socket_bootstrap = {get_socket_interface}
 
struct PSI_stage_bootstrap pfs_stage_bootstrap = {get_stage_interface}
 
struct PSI_statement_bootstrap pfs_statement_bootstrap
 
struct PSI_system_bootstrap pfs_system_bootstrap = {get_system_interface}
 
struct PSI_table_bootstrap pfs_table_bootstrap = {get_table_interface}
 
struct PSI_thread_bootstrap pfs_thread_bootstrap = {get_thread_interface}
 
struct PSI_tls_channel_bootstrap pfs_tls_channel_bootstrap
 
struct PSI_transaction_bootstrap pfs_transaction_bootstrap
 
mysql_component_t mysql_component_performance_schema
 

Detailed Description

The performance schema implementation of all instruments.

Macro Definition Documentation

◆ DISABLE_PSI_COND

#define DISABLE_PSI_COND

Compiling option to disable the cond instrumentation.

See also
DISABLE_PSI_MUTEX

◆ DISABLE_PSI_DATA_LOCK

#define DISABLE_PSI_DATA_LOCK

Compiling option to disable the data lock instrumentation.

See also
DISABLE_PSI_MUTEX

◆ DISABLE_PSI_ERROR

#define DISABLE_PSI_ERROR

Compiling option to disable the error instrumentation.

See also
DISABLE_PSI_MUTEX

◆ DISABLE_PSI_FILE

#define DISABLE_PSI_FILE

Compiling option to disable the file instrumentation.

See also
DISABLE_PSI_MUTEX

◆ DISABLE_PSI_IDLE

#define DISABLE_PSI_IDLE

Compiling option to disable the idle instrumentation.

See also
DISABLE_PSI_MUTEX

◆ DISABLE_PSI_MEMORY

#define DISABLE_PSI_MEMORY

Compiling option to disable the memory instrumentation.

See also
DISABLE_PSI_MUTEX

◆ DISABLE_PSI_METADATA

#define DISABLE_PSI_METADATA

Compiling option to disable the metadata instrumentation.

See also
DISABLE_PSI_MUTEX

◆ DISABLE_PSI_MUTEX

#define DISABLE_PSI_MUTEX

Compiling option to disable the mutex instrumentation.

This option is mostly intended to be used during development, when doing special builds with only a subset of the performance schema instrumentation, for code analysis / profiling / performance tuning of a specific instrumentation alone.

See also
DISABLE_PSI_COND
DISABLE_PSI_DATA_LOCK
DISABLE_PSI_ERROR
DISABLE_PSI_FILE
DISABLE_PSI_IDLE
DISABLE_PSI_MEMORY
DISABLE_PSI_METADATA
DISABLE_PSI_PS
DISABLE_PSI_RWLOCK
DISABLE_PSI_SOCKET
DISABLE_PSI_SP
DISABLE_PSI_STAGE
DISABLE_PSI_STATEMENT
DISABLE_PSI_STATEMENT_DIGEST
DISABLE_PSI_SYSTEM
DISABLE_PSI_TABLE
DISABLE_PSI_THREAD
DISABLE_PSI_TRANSACTION
DISABLE_TLS_CHANNEL

◆ DISABLE_PSI_PS

#define DISABLE_PSI_PS

Compiling option to disable the prepared statement instrumentation.

See also
DISABLE_PSI_MUTEX

◆ DISABLE_PSI_RWLOCK

#define DISABLE_PSI_RWLOCK

Compiling option to disable the rwlock instrumentation.

See also
DISABLE_PSI_MUTEX

◆ DISABLE_PSI_SOCKET

#define DISABLE_PSI_SOCKET

Compiling option to disable the statement instrumentation.

See also
DISABLE_PSI_MUTEX

◆ DISABLE_PSI_SP

#define DISABLE_PSI_SP

Compiling option to disable the stored program instrumentation.

See also
DISABLE_PSI_MUTEX

◆ DISABLE_PSI_STAGE

#define DISABLE_PSI_STAGE

Compiling option to disable the stage instrumentation.

See also
DISABLE_PSI_MUTEX

◆ DISABLE_PSI_STATEMENT

#define DISABLE_PSI_STATEMENT

Compiling option to disable the statement instrumentation.

See also
DISABLE_PSI_MUTEX

◆ DISABLE_PSI_STATEMENT_DIGEST

#define DISABLE_PSI_STATEMENT_DIGEST

Compiling option to disable the statement digest instrumentation.

◆ DISABLE_PSI_SYSTEM

#define DISABLE_PSI_SYSTEM

Compiling option to disable the system instrumentation.

See also
DISABLE_PSI_MUTEX

◆ DISABLE_PSI_TABLE

#define DISABLE_PSI_TABLE

Compiling option to disable the table instrumentation.

See also
DISABLE_PSI_MUTEX

◆ DISABLE_PSI_THREAD

#define DISABLE_PSI_THREAD

Compiling option to disable the thread instrumentation.

See also
DISABLE_PSI_MUTEX

◆ DISABLE_PSI_TLS_CHANNEL

#define DISABLE_PSI_TLS_CHANNEL

Compiling option to disable TLS Channel instrumentation.

◆ DISABLE_PSI_TRANSACTION

#define DISABLE_PSI_TRANSACTION

Compiling option to disable the transaction instrumentation.

See also
DISABLE_PSI_MUTEX

◆ HAVE_PSI_2

#define HAVE_PSI_2

◆ HAVE_PSI_COND_INTERFACE

#define HAVE_PSI_COND_INTERFACE

◆ HAVE_PSI_DATA_LOCK_INTERFACE

#define HAVE_PSI_DATA_LOCK_INTERFACE

◆ HAVE_PSI_ERROR_INTERFACE

#define HAVE_PSI_ERROR_INTERFACE

◆ HAVE_PSI_FILE_INTERFACE

#define HAVE_PSI_FILE_INTERFACE

◆ HAVE_PSI_IDLE_INTERFACE

#define HAVE_PSI_IDLE_INTERFACE

◆ HAVE_PSI_MEMORY_INTERFACE

#define HAVE_PSI_MEMORY_INTERFACE

◆ HAVE_PSI_METADATA_INTERFACE

#define HAVE_PSI_METADATA_INTERFACE

◆ HAVE_PSI_MUTEX_INTERFACE

#define HAVE_PSI_MUTEX_INTERFACE

◆ HAVE_PSI_PS_INTERFACE

#define HAVE_PSI_PS_INTERFACE

◆ HAVE_PSI_RWLOCK_INTERFACE

#define HAVE_PSI_RWLOCK_INTERFACE

◆ HAVE_PSI_SOCKET_INTERFACE

#define HAVE_PSI_SOCKET_INTERFACE

◆ HAVE_PSI_SP_INTERFACE

#define HAVE_PSI_SP_INTERFACE

◆ HAVE_PSI_STAGE_INTERFACE

#define HAVE_PSI_STAGE_INTERFACE

◆ HAVE_PSI_STATEMENT_DIGEST_INTERFACE

#define HAVE_PSI_STATEMENT_DIGEST_INTERFACE

◆ HAVE_PSI_STATEMENT_INTERFACE

#define HAVE_PSI_STATEMENT_INTERFACE

◆ HAVE_PSI_SYSTEM_INTERFACE

#define HAVE_PSI_SYSTEM_INTERFACE

◆ HAVE_PSI_TABLE_INTERFACE

#define HAVE_PSI_TABLE_INTERFACE

◆ HAVE_PSI_THREAD_INTERFACE

#define HAVE_PSI_THREAD_INTERFACE

◆ HAVE_PSI_TLS_CHANNEL_INTERFACE

#define HAVE_PSI_TLS_CHANNEL_INTERFACE

◆ HAVE_PSI_TRANSACTION_INTERFACE

#define HAVE_PSI_TRANSACTION_INTERFACE

◆ INC_STATEMENT_ATTR_BODY

#define INC_STATEMENT_ATTR_BODY (   LOCKER,
  ATTR,
  VALUE 
)
Value:
state = reinterpret_cast<PSI_statement_locker_state *>(LOCKER); \
if (unlikely(state == nullptr)) { \
return; \
} \
if (state->m_discarded) { \
return; \
} \
state->ATTR += VALUE; \
if (state->m_flags & STATE_FLAG_EVENT) { \
PFS_events_statements *pfs; \
pfs = reinterpret_cast<PFS_events_statements *>(state->m_statement); \
assert(pfs != nullptr); \
pfs->ATTR += VALUE; \
} \
return;
bool unlikely(bool expr)
Definition: my_compiler.h:55
#define STATE_FLAG_EVENT
EVENT bit in the state flags bitfield.
Definition: pfs_events_waits.h:118
static const LEX_CSTRING pfs
Definition: sql_show_processlist.cc:62
A statement record.
Definition: pfs_events_statements.h:45
State data storage for get_thread_statement_locker_v1_t, get_thread_statement_locker_v1_t.
Definition: psi_statement_bits.h:138
bool m_discarded
Discarded flag.
Definition: psi_statement_bits.h:140
void * m_statement
Internal data.
Definition: psi_statement_bits.h:158
unsigned int m_flags
Internal state.
Definition: psi_statement_bits.h:148

◆ INC_TRANSACTION_ATTR_BODY

#define INC_TRANSACTION_ATTR_BODY (   LOCKER,
  ATTR,
  VALUE 
)
Value:
state = reinterpret_cast<PSI_transaction_locker_state *>(LOCKER); \
if (unlikely(state == nullptr)) { \
return; \
} \
state->ATTR += VALUE; \
if (state->m_flags & STATE_FLAG_EVENT) { \
PFS_events_transactions *pfs; \
pfs = reinterpret_cast<PFS_events_transactions *>(state->m_transaction); \
assert(pfs != nullptr); \
pfs->ATTR += VALUE; \
} \
return;
A transaction record.
Definition: pfs_events_transactions.h:84
State data storage for get_thread_transaction_locker_v1_t, get_thread_transaction_locker_v1_t.
Definition: psi_transaction_bits.h:52
void * m_transaction
Internal data.
Definition: psi_transaction_bits.h:64
unsigned int m_flags
Internal state.
Definition: psi_transaction_bits.h:54

◆ REGISTER_BODY_V1

#define REGISTER_BODY_V1 (   KEY_T,
  PREFIX,
  REGISTER_FUNC 
)

◆ SET_STATEMENT_ATTR_BODY

#define SET_STATEMENT_ATTR_BODY (   LOCKER,
  ATTR,
  VALUE 
)
Value:
state = reinterpret_cast<PSI_statement_locker_state *>(LOCKER); \
if (unlikely(state == nullptr)) { \
return; \
} \
if (state->m_discarded) { \
return; \
} \
state->ATTR = VALUE; \
if (state->m_flags & STATE_FLAG_EVENT) { \
PFS_events_statements *pfs; \
pfs = reinterpret_cast<PFS_events_statements *>(state->m_statement); \
assert(pfs != nullptr); \
pfs->ATTR = VALUE; \
} \
return;

Function Documentation

◆ BEGIN_COMPONENT_REQUIRES()

static BEGIN_COMPONENT_REQUIRES ( performance_schema  )
static

◆ build_prefix()

static int build_prefix ( const LEX_CSTRING prefix,
const char *  category,
char *  output,
size_t *  output_length 
)
static

Build the prefix name of a class of instruments in a category.

For example, this function builds the string 'wait/sync/mutex/sql/' from a prefix 'wait/sync/mutex' and a category 'sql'. This prefix is used later to build each instrument name, such as 'wait/sync/mutex/sql/LOCK_open'.

Parameters
prefixPrefix for this class of instruments
categoryCategory name
[out]outputBuffer of length PFS_MAX_INFO_NAME_LENGTH.
[out]output_lengthLength of the resulting output string.
Returns
0 for success, non zero for errors

◆ END_COMPONENT_METADATA()

END_COMPONENT_METADATA ( )

◆ END_COMPONENT_PROVIDES()

END_COMPONENT_PROVIDES ( )

◆ external_lock_flags_to_lock_type()

static PFS_TL_LOCK_TYPE external_lock_flags_to_lock_type ( uint  flags)
inlinestatic

◆ get_cond_interface()

static void* get_cond_interface ( int  version)
static

◆ get_data_lock_interface()

static void* get_data_lock_interface ( int  version)
static

◆ get_error_interface()

static void* get_error_interface ( int  version)
static

◆ get_file_interface()

static void* get_file_interface ( int  version)
static

◆ get_idle_interface()

static void* get_idle_interface ( int  version)
static

◆ get_mdl_interface()

static void* get_mdl_interface ( int  version)
static

◆ get_memory_interface()

static void* get_memory_interface ( int  version)
static

◆ get_mutex_interface()

static void* get_mutex_interface ( int  version)
static

◆ get_rwlock_interface()

static void* get_rwlock_interface ( int  version)
static

◆ get_socket_interface()

static void* get_socket_interface ( int  version)
static

◆ get_stage_interface()

static void* get_stage_interface ( int  version)
static

◆ get_statement_interface()

static void* get_statement_interface ( int  version)
static

◆ get_system_interface()

static void* get_system_interface ( int  version)
static

◆ get_table_interface()

static void* get_table_interface ( int  version)
static

◆ get_thread_attributes()

int get_thread_attributes ( PFS_thread pfs,
bool  current_thread,
PSI_thread_attrs thread_attrs 
)

Get the system and session attributes for a given PFS_thread.

Parameters
pfsthread instrumentation
current_threadtrue if pfs refers to the current thread
thread_attrsthread attribute structure
Returns
0 if successful, non-zero otherwise

◆ get_thread_interface()

static void* get_thread_interface ( int  version)
static

◆ get_tls_channel_interface()

static void* get_tls_channel_interface ( int  version)
static

◆ get_transaction_interface()

static void* get_transaction_interface ( int  version)
static

◆ lock_flags_to_lock_type()

static PFS_TL_LOCK_TYPE lock_flags_to_lock_type ( uint  flags)
inlinestatic

◆ METADATA() [1/2]

METADATA ( "mysql.author"  ,
"Oracle Corporation"   
)

◆ METADATA() [2/2]

METADATA ( "mysql.license"  ,
"GPL"   
)

◆ my_thread_get_THR_PFS()

static PFS_thread* my_thread_get_THR_PFS ( )
inlinestatic

◆ my_thread_set_THR_PFS()

static void my_thread_set_THR_PFS ( PFS_thread pfs)
inlinestatic

◆ pfs_aggregate_thread_status_vc()

void pfs_aggregate_thread_status_vc ( PSI_thread thread)

Implementation of the thread instrumentation interface.

See also
PSI_v2::aggregate_thread_status.

◆ pfs_broadcast_cond_v1()

void pfs_broadcast_cond_v1 ( PSI_cond cond)

Implementation of the cond instrumentation interface.

See also
PSI_v1::broadcast_cond.

◆ pfs_close_table_v1()

void pfs_close_table_v1 ( TABLE_SHARE server_share,
PSI_table table 
)

Implementation of the table instrumentation interface.

See also
PSI_v1::close_table.

◆ pfs_create_file_vc()

void pfs_create_file_vc ( PSI_file_key  key,
const char *  name,
File  file 
)

Implementation of the file instrumentation interface.

See also
PSI_v1::create_file.

◆ pfs_create_metadata_lock_vc()

PSI_metadata_lock* pfs_create_metadata_lock_vc ( void *  identity,
const MDL_key mdl_key,
opaque_mdl_type  mdl_type,
opaque_mdl_duration  mdl_duration,
opaque_mdl_status  mdl_status,
const char *  src_file,
uint  src_line 
)

◆ pfs_create_prepared_stmt_v2()

PSI_prepared_stmt* pfs_create_prepared_stmt_v2 ( void *  identity,
uint  stmt_id,
PSI_statement_locker locker,
const char *  stmt_name,
size_t  stmt_name_length,
const char *  sql_text,
size_t  sql_text_length 
)

◆ pfs_deinit_services()

bool pfs_deinit_services ( const mysql_service_registry_registration_t reg)

◆ pfs_delete_current_thread_vc()

void pfs_delete_current_thread_vc ( void  )

Implementation of the thread instrumentation interface.

See also
PSI_v2::delete_current_thread.

◆ pfs_delete_thread_vc()

void pfs_delete_thread_vc ( PSI_thread thread)

Implementation of the thread instrumentation interface.

See also
PSI_v2::delete_thread.

◆ pfs_destroy_cond_v1()

void pfs_destroy_cond_v1 ( PSI_cond cond)

Implementation of the cond instrumentation interface.

See also
PSI_v1::destroy_cond.

◆ pfs_destroy_metadata_lock_vc()

void pfs_destroy_metadata_lock_vc ( PSI_metadata_lock lock)

◆ pfs_destroy_mutex_v1()

void pfs_destroy_mutex_v1 ( PSI_mutex mutex)

Implementation of the mutex instrumentation interface.

See also
PSI_v1::destroy_mutex.

◆ pfs_destroy_prepared_stmt_v2()

void pfs_destroy_prepared_stmt_v2 ( PSI_prepared_stmt prepared_stmt)

◆ pfs_destroy_rwlock_v2()

void pfs_destroy_rwlock_v2 ( PSI_rwlock rwlock)

Implementation of the rwlock instrumentation interface.

See also
PSI_v2::destroy_rwlock.

◆ pfs_destroy_socket_v1()

void pfs_destroy_socket_v1 ( PSI_socket socket)

◆ pfs_digest_end_v2()

void pfs_digest_end_v2 ( PSI_digest_locker locker,
const sql_digest_storage digest 
)

◆ pfs_digest_start_v2()

struct PSI_digest_locker* pfs_digest_start_v2 ( PSI_statement_locker locker)

◆ pfs_drop_sp_v2()

static void pfs_drop_sp_v2 ( uint  sp_type,
const char *  schema_name,
uint  schema_name_length,
const char *  object_name,
uint  object_name_length 
)
static

◆ pfs_drop_table_share_v1()

void pfs_drop_table_share_v1 ( bool  temporary,
const char *  schema_name,
int  schema_name_length,
const char *  table_name,
int  table_name_length 
)

Implementation of the table instrumentation interface.

See also
PSI_v1::drop_table_share.

◆ pfs_end_cond_wait_v1()

void pfs_end_cond_wait_v1 ( PSI_cond_locker locker,
int  rc 
)

Implementation of the cond instrumentation interface.

See also
PSI_v1::end_cond_wait.

◆ pfs_end_file_close_wait_vc()

void pfs_end_file_close_wait_vc ( PSI_file_locker locker,
int  rc 
)

Implementation of the file instrumentation interface.

See also
PSI_v1::end_file_close_wait.

◆ pfs_end_file_open_wait_and_bind_to_descriptor_vc()

void pfs_end_file_open_wait_and_bind_to_descriptor_vc ( PSI_file_locker locker,
File  file 
)

Implementation of the file instrumentation interface.

See also
PSI_v1::end_file_open_wait_and_bind_to_descriptor.

◆ pfs_end_file_open_wait_vc()

PSI_file* pfs_end_file_open_wait_vc ( PSI_file_locker locker,
void *  result 
)

Implementation of the file instrumentation interface.

See also
PSI_v1::end_file_open_wait.

◆ pfs_end_file_rename_wait_vc()

void pfs_end_file_rename_wait_vc ( PSI_file_locker locker,
const char *  old_name,
const char *  new_name,
int  rc 
)

Implementation of the file instrumentation interface.

See also
PSI_v1::end_file_rename_wait.

◆ pfs_end_file_wait_vc()

void pfs_end_file_wait_vc ( PSI_file_locker locker,
size_t  byte_count 
)

Implementation of the file instrumentation interface.

See also
PSI_v1::end_file_wait.

◆ pfs_end_idle_wait_v1()

void pfs_end_idle_wait_v1 ( PSI_idle_locker locker)

Implementation of the mutex instrumentation interface.

See also
PSI_v1::end_idle_wait.

◆ pfs_end_metadata_wait_vc()

void pfs_end_metadata_wait_vc ( PSI_metadata_locker locker,
int  rc 
)

◆ pfs_end_mutex_wait_v1()

void pfs_end_mutex_wait_v1 ( PSI_mutex_locker locker,
int  rc 
)

Implementation of the mutex instrumentation interface.

See also
PSI_v1::end_mutex_wait.

◆ pfs_end_rwlock_rdwait_v2()

void pfs_end_rwlock_rdwait_v2 ( PSI_rwlock_locker locker,
int  rc 
)

Implementation of the rwlock instrumentation interface.

See also
PSI_v2::end_rwlock_rdwait.

◆ pfs_end_rwlock_wrwait_v2()

void pfs_end_rwlock_wrwait_v2 ( PSI_rwlock_locker locker,
int  rc 
)

Implementation of the rwlock instrumentation interface.

See also
PSI_v2::end_rwlock_wrwait.

◆ pfs_end_socket_wait_v1()

void pfs_end_socket_wait_v1 ( PSI_socket_locker locker,
size_t  byte_count 
)

Implementation of the socket instrumentation interface.

See also
PSI_v1::end_socket_wait.

◆ pfs_end_sp_v2()

static void pfs_end_sp_v2 ( PSI_sp_locker locker)
static

◆ pfs_end_stage_v1()

void pfs_end_stage_v1 ( )

◆ pfs_end_statement_v2()

void pfs_end_statement_v2 ( PSI_statement_locker locker,
void *  stmt_da 
)

◆ pfs_end_table_io_wait_v1()

void pfs_end_table_io_wait_v1 ( PSI_table_locker locker,
ulonglong  numrows 
)

Implementation of the table instrumentation interface.

See also
PSI_v1::end_table_io_wait.

◆ pfs_end_table_lock_wait_v1()

void pfs_end_table_lock_wait_v1 ( PSI_table_locker locker)

Implementation of the table instrumentation interface.

See also
PSI_v1::end_table_lock_wait.

◆ pfs_end_temp_file_open_wait_and_bind_to_descriptor_vc()

void pfs_end_temp_file_open_wait_and_bind_to_descriptor_vc ( PSI_file_locker locker,
File  file,
const char *  filename 
)

Implementation of the file instrumentation interface.

See also
PSI_v1::end_temp_file_open_wait_and_bind_to_descriptor.

◆ pfs_end_transaction_v1()

void pfs_end_transaction_v1 ( PSI_transaction_locker locker,
bool  commit 
)

◆ pfs_execute_prepared_stmt_v2()

void pfs_execute_prepared_stmt_v2 ( PSI_statement_locker locker,
PSI_prepared_stmt ps 
)

◆ pfs_get_current_stage_progress_v1()

PSI_stage_progress* pfs_get_current_stage_progress_v1 ( )

◆ pfs_get_current_thread_event_id_vc()

void pfs_get_current_thread_event_id_vc ( ulonglong internal_thread_id,
ulonglong event_id 
)

Implementation of the get event id interface.

See also
PSI_v2::get_thread_event_id.

◆ pfs_get_current_thread_internal_id_vc()

ulonglong pfs_get_current_thread_internal_id_vc ( )

Implementation of the thread instrumentation interface.

See also
PSI_v2::get_current_thread_internal_id.

◆ pfs_get_sp_share_v2()

static PSI_sp_share* pfs_get_sp_share_v2 ( uint  sp_type,
const char *  schema_name,
uint  schema_name_length,
const char *  object_name,
uint  object_name_length 
)
static

Implementation of the stored program instrumentation interface.

See also
PSI_v1::get_sp_share.

◆ pfs_get_table_share_v1()

PSI_table_share* pfs_get_table_share_v1 ( bool  temporary,
TABLE_SHARE share 
)

Implementation of the table instrumentation interface.

See also
PSI_v1::get_table_share.

◆ pfs_get_thread_by_id_vc()

PSI_thread* pfs_get_thread_by_id_vc ( ulonglong  processlist_id)

Implementation of the thread instrumentation interface.

See also
PSI_v2::get_thread_by_id.

◆ pfs_get_thread_event_id_v1()

void pfs_get_thread_event_id_v1 ( ulonglong internal_thread_id,
ulonglong event_id 
)

Implementation of the get event id interface.

See also
PSI_v1::get_thread_event_id.

◆ pfs_get_thread_event_id_vc()

void pfs_get_thread_event_id_vc ( PSI_thread psi,
ulonglong internal_thread_id,
ulonglong event_id 
)

Implementation of the get event id interface.

See also
PSI_v1::get_thread_event_id.

◆ pfs_get_thread_file_descriptor_locker_vc()

PSI_file_locker* pfs_get_thread_file_descriptor_locker_vc ( PSI_file_locker_state state,
File  file,
PSI_file_operation  op 
)

Implementation of the file instrumentation interface.

See also
PSI_v1::get_thread_file_descriptor_locker.

◆ pfs_get_thread_file_name_locker_vc()

PSI_file_locker* pfs_get_thread_file_name_locker_vc ( PSI_file_locker_state state,
PSI_file_key  key,
PSI_file_operation  op,
const char *  name,
const void *  identity 
)

Implementation of the file instrumentation interface.

See also
PSI_v1::get_thread_file_name_locker.

◆ pfs_get_thread_file_stream_locker_vc()

PSI_file_locker* pfs_get_thread_file_stream_locker_vc ( PSI_file_locker_state state,
PSI_file file,
PSI_file_operation  op 
)

Implementation of the file instrumentation interface.

See also
PSI_v1::get_thread_file_stream_locker.

◆ pfs_get_thread_internal_id_vc()

ulonglong pfs_get_thread_internal_id_vc ( PSI_thread thread)

Implementation of the thread instrumentation interface.

See also
PSI_v2::get_thread_internal_id.

◆ pfs_get_thread_statement_locker_v2()

PSI_statement_locker* pfs_get_thread_statement_locker_v2 ( PSI_statement_locker_state state,
PSI_statement_key  key,
const void *  charset,
PSI_sp_share sp_share 
)

◆ pfs_get_thread_system_attrs_by_id_vc()

int pfs_get_thread_system_attrs_by_id_vc ( PSI_thread thread,
ulonglong  thread_id,
PSI_thread_attrs thread_attrs 
)

Implementation of the thread instrumentation interface.

See also
PSI_v2::get_thread_system_attrs_by_id.

◆ pfs_get_thread_system_attrs_vc()

int pfs_get_thread_system_attrs_vc ( PSI_thread_attrs thread_attrs)

Implementation of the thread instrumentation interface.

See also
PSI_v2::get_thread_system_attrs.

◆ pfs_get_thread_transaction_locker_v1()

PSI_transaction_locker* pfs_get_thread_transaction_locker_v1 ( PSI_transaction_locker_state state,
const void *  xid,
const ulonglong trxid,
int  isolation_level,
bool  read_only,
bool  autocommit 
)

◆ pfs_get_thread_vc()

PSI_thread* pfs_get_thread_vc ( void  )

Implementation of the thread instrumentation interface.

See also
PSI_v2::get_thread.

◆ pfs_inc_statement_created_tmp_disk_tables_v2()

void pfs_inc_statement_created_tmp_disk_tables_v2 ( PSI_statement_locker locker,
ulong  count 
)

◆ pfs_inc_statement_created_tmp_tables_v2()

void pfs_inc_statement_created_tmp_tables_v2 ( PSI_statement_locker locker,
ulong  count 
)

◆ pfs_inc_statement_select_full_join_v2()

void pfs_inc_statement_select_full_join_v2 ( PSI_statement_locker locker,
ulong  count 
)

◆ pfs_inc_statement_select_full_range_join_v2()

void pfs_inc_statement_select_full_range_join_v2 ( PSI_statement_locker locker,
ulong  count 
)

◆ pfs_inc_statement_select_range_check_v2()

void pfs_inc_statement_select_range_check_v2 ( PSI_statement_locker locker,
ulong  count 
)

◆ pfs_inc_statement_select_range_v2()

void pfs_inc_statement_select_range_v2 ( PSI_statement_locker locker,
ulong  count 
)

◆ pfs_inc_statement_select_scan_v2()

void pfs_inc_statement_select_scan_v2 ( PSI_statement_locker locker,
ulong  count 
)

◆ pfs_inc_statement_sort_merge_passes_v2()

void pfs_inc_statement_sort_merge_passes_v2 ( PSI_statement_locker locker,
ulong  count 
)

◆ pfs_inc_statement_sort_range_v2()

void pfs_inc_statement_sort_range_v2 ( PSI_statement_locker locker,
ulong  count 
)

◆ pfs_inc_statement_sort_rows_v2()

void pfs_inc_statement_sort_rows_v2 ( PSI_statement_locker locker,
ulong  count 
)

◆ pfs_inc_statement_sort_scan_v2()

void pfs_inc_statement_sort_scan_v2 ( PSI_statement_locker locker,
ulong  count 
)

◆ pfs_inc_transaction_release_savepoint_v1()

void pfs_inc_transaction_release_savepoint_v1 ( PSI_transaction_locker locker,
ulong  count 
)

◆ pfs_inc_transaction_rollback_to_savepoint_v1()

void pfs_inc_transaction_rollback_to_savepoint_v1 ( PSI_transaction_locker locker,
ulong  count 
)

◆ pfs_inc_transaction_savepoints_v1()

void pfs_inc_transaction_savepoints_v1 ( PSI_transaction_locker locker,
ulong  count 
)

◆ pfs_init_cond_v1()

PSI_cond* pfs_init_cond_v1 ( PSI_cond_key  key,
const void *  identity 
)

Implementation of the cond instrumentation interface.

See also
PSI_v1::init_cond.

◆ pfs_init_mutex_v1()

PSI_mutex* pfs_init_mutex_v1 ( PSI_mutex_key  key,
const void *  identity 
)

Implementation of the mutex instrumentation interface.

See also
PSI_v1::init_mutex.

◆ pfs_init_rwlock_v2()

PSI_rwlock* pfs_init_rwlock_v2 ( PSI_rwlock_key  key,
const void *  identity 
)

Implementation of the rwlock instrumentation interface.

See also
PSI_v2::init_rwlock.

◆ pfs_init_services()

bool pfs_init_services ( const mysql_service_registry_registration_t reg)

◆ pfs_init_socket_v1()

PSI_socket* pfs_init_socket_v1 ( PSI_socket_key  key,
const my_socket fd,
const struct sockaddr addr,
socklen_t  addr_len 
)

◆ pfs_log_error_v1()

void pfs_log_error_v1 ( uint  error_num,
PSI_error_operation  error_operation 
)

◆ pfs_memory_alloc_vc()

PSI_memory_key pfs_memory_alloc_vc ( PSI_memory_key  key,
size_t  size,
PSI_thread **  owner 
)

◆ pfs_memory_claim_vc()

PSI_memory_key pfs_memory_claim_vc ( PSI_memory_key  key,
size_t  size,
PSI_thread **  owner,
bool  claim 
)

◆ pfs_memory_free_vc()

void pfs_memory_free_vc ( PSI_memory_key  key,
size_t  size,
PSI_thread owner 
)

◆ pfs_memory_realloc_vc()

PSI_memory_key pfs_memory_realloc_vc ( PSI_memory_key  key,
size_t  old_size,
size_t  new_size,
PSI_thread **  owner 
)

◆ pfs_new_thread_vc()

PSI_thread* pfs_new_thread_vc ( PSI_thread_key  key,
const void *  identity,
ulonglong  processlist_id 
)

Implementation of the thread instrumentation interface.

See also
PSI_v2::new_thread.

◆ pfs_notify_session_change_user_vc()

void pfs_notify_session_change_user_vc ( PSI_thread thread)

Implementation of the thread instrumentation interface.

See also
PSI_v2::notify_session_change_user.

◆ pfs_notify_session_connect_vc()

void pfs_notify_session_connect_vc ( PSI_thread thread)

Implementation of the thread instrumentation interface.

See also
PSI_v2::notify_session_connect.

◆ pfs_notify_session_disconnect_vc()

void pfs_notify_session_disconnect_vc ( PSI_thread thread)

Implementation of the thread instrumentation interface.

See also
PSI_v2::notify_session_disconnect.

◆ pfs_open_table_v1()

PSI_table* pfs_open_table_v1 ( PSI_table_share share,
const void *  identity 
)

Implementation of the table instrumentation interface.

See also
PSI_v1::open_table.

◆ pfs_rebind_table_v1()

PSI_table* pfs_rebind_table_v1 ( PSI_table_share share,
const void *  identity,
PSI_table table 
)

Implementation of the table instrumentation interface.

See also
PSI_v1::rebind_table.

◆ pfs_refine_statement_v2()

PSI_statement_locker* pfs_refine_statement_v2 ( PSI_statement_locker locker,
PSI_statement_key  key 
)

◆ pfs_register_cond_v1()

void pfs_register_cond_v1 ( const char *  category,
PSI_cond_info_v1 info,
int  count 
)

Implementation of the cond instrumentation interface.

See also
PSI_v1::register_cond.

◆ pfs_register_data_lock_v1()

void pfs_register_data_lock_v1 ( PSI_engine_data_lock_inspector inspector)

◆ pfs_register_file_vc()

void pfs_register_file_vc ( const char *  category,
PSI_file_info_v1 info,
int  count 
)

Implementation of the file instrumentation interface.

See also
PSI_v1::register_file.

◆ pfs_register_memory_vc()

void pfs_register_memory_vc ( const char *  category,
PSI_memory_info_v1 info,
int  count 
)

◆ pfs_register_mutex_v1()

void pfs_register_mutex_v1 ( const char *  category,
PSI_mutex_info_v1 info,
int  count 
)

Implementation of the mutex instrumentation interface.

See also
PSI_v1::register_mutex.

◆ pfs_register_notification_vc()

int pfs_register_notification_vc ( const PSI_notification callbacks,
bool  with_ref_count 
)

Implementation of the thread instrumentation interface.

See also
PSI_v2::register_notification.

◆ pfs_register_rwlock_v2()

void pfs_register_rwlock_v2 ( const char *  category,
PSI_rwlock_info_v1 info,
int  count 
)

Implementation of the rwlock instrumentation interface.

See also
PSI_v2::register_rwlock.

◆ pfs_register_socket_v1()

void pfs_register_socket_v1 ( const char *  category,
PSI_socket_info_v1 info,
int  count 
)

◆ pfs_register_stage_v1()

void pfs_register_stage_v1 ( const char *  category,
PSI_stage_info_v1 **  info_array,
int  count 
)

◆ pfs_register_statement_v2()

void pfs_register_statement_v2 ( const char *  category,
PSI_statement_info info,
int  count 
)

◆ pfs_register_thread_vc()

void pfs_register_thread_vc ( const char *  category,
PSI_thread_info info,
int  count 
)

Implementation of the thread instrumentation interface.

See also
PSI_v1::register_thread.

◆ pfs_release_sp_share_v2()

static void pfs_release_sp_share_v2 ( PSI_sp_share )
static

◆ pfs_release_table_share_v1()

void pfs_release_table_share_v1 ( PSI_table_share share)

Implementation of the table instrumentation interface.

See also
PSI_v1::release_table_share.

◆ pfs_reprepare_prepared_stmt_v2()

void pfs_reprepare_prepared_stmt_v2 ( PSI_prepared_stmt prepared_stmt)

◆ pfs_set_connection_type_vc()

void pfs_set_connection_type_vc ( opaque_vio_type  conn_type)

Implementation of the thread instrumentation interface.

See also
PSI_v2::set_thread_connection_type.

◆ pfs_set_metadata_lock_duration_vc()

void pfs_set_metadata_lock_duration_vc ( PSI_metadata_lock lock,
opaque_mdl_duration  mdl_duration 
)

◆ pfs_set_metadata_lock_status_vc()

void pfs_set_metadata_lock_status_vc ( PSI_metadata_lock lock,
opaque_mdl_status  mdl_status 
)

◆ pfs_set_prepared_stmt_text_v2()

void pfs_set_prepared_stmt_text_v2 ( PSI_prepared_stmt prepared_stmt,
const char *  text,
uint  text_len 
)

◆ pfs_set_socket_info_v1()

void pfs_set_socket_info_v1 ( PSI_socket socket,
const my_socket fd,
const struct sockaddr addr,
socklen_t  addr_len 
)

Set socket descriptor and address info.

◆ pfs_set_socket_state_v1()

void pfs_set_socket_state_v1 ( PSI_socket socket,
PSI_socket_state  state 
)

◆ pfs_set_socket_thread_owner_v1()

void pfs_set_socket_thread_owner_v1 ( PSI_socket socket)

Implementation of the socket instrumentation interface.

See also
PSI_v1::set_socket_info.

◆ pfs_set_statement_lock_time_v2()

void pfs_set_statement_lock_time_v2 ( PSI_statement_locker locker,
ulonglong  count 
)

◆ pfs_set_statement_no_good_index_used_v2()

void pfs_set_statement_no_good_index_used_v2 ( PSI_statement_locker locker)

◆ pfs_set_statement_no_index_used_v2()

void pfs_set_statement_no_index_used_v2 ( PSI_statement_locker locker)

◆ pfs_set_statement_query_id_v2()

void pfs_set_statement_query_id_v2 ( PSI_statement_locker locker,
ulonglong  query_id 
)

◆ pfs_set_statement_rows_examined_v2()

void pfs_set_statement_rows_examined_v2 ( PSI_statement_locker locker,
ulonglong  count 
)

◆ pfs_set_statement_rows_sent_v2()

void pfs_set_statement_rows_sent_v2 ( PSI_statement_locker locker,
ulonglong  count 
)

◆ pfs_set_statement_text_v2()

void pfs_set_statement_text_v2 ( PSI_statement_locker locker,
const char *  text,
uint  text_len 
)

◆ pfs_set_thread_account_vc()

void pfs_set_thread_account_vc ( const char *  user,
int  user_len,
const char *  host,
int  host_len 
)

Implementation of the thread instrumentation interface.

See also
PSI_v2::set_thread_account.

◆ pfs_set_thread_command_vc()

void pfs_set_thread_command_vc ( int  command)

Implementation of the thread instrumentation interface.

See also
PSI_v2::set_thread_command.

◆ pfs_set_thread_connect_attrs_vc()

int pfs_set_thread_connect_attrs_vc ( const char *  buffer,
uint  length,
const void *  from_cs 
)

Implementation of the thread attribute connection interface.

See also
PSI_v2::set_thread_connect_attr.

◆ pfs_set_thread_db_vc()

void pfs_set_thread_db_vc ( const char *  db,
int  db_len 
)

Implementation of the thread instrumentation interface.

See also
PSI_v2::set_thread_db.

◆ pfs_set_thread_id_vc()

void pfs_set_thread_id_vc ( PSI_thread thread,
ulonglong  processlist_id 
)

Implementation of the thread instrumentation interface.

See also
PSI_v2::set_thread_id.

◆ pfs_set_thread_info_vc()

void pfs_set_thread_info_vc ( const char *  info,
uint  info_len 
)

Implementation of the thread instrumentation interface.

See also
PSI_v2::set_thread_info.

◆ pfs_set_thread_os_id_vc()

void pfs_set_thread_os_id_vc ( PSI_thread thread)

Implementation of the thread instrumentation interface.

See also
PSI_v2::set_thread_os_thread_id.

◆ pfs_set_thread_peer_port_vc()

void pfs_set_thread_peer_port_vc ( PSI_thread thread,
uint  port 
)

Implementation of the thread instrumentation interface.

See also
PSI_v4::set_thread_peer_port

◆ pfs_set_thread_resource_group_by_id_vc()

int pfs_set_thread_resource_group_by_id_vc ( PSI_thread thread,
ulonglong  thread_id,
const char *  group_name,
int  group_name_len,
void *  user_data 
)

Implementation of the thread instrumentation interface.

See also
PSI_v2::set_thread_resource_group_by_id

◆ pfs_set_thread_resource_group_vc()

int pfs_set_thread_resource_group_vc ( const char *  group_name,
int  group_name_len,
void *  user_data 
)

Implementation of the thread instrumentation interface.

See also
PSI_v2::set_thread_resource_group

◆ pfs_set_thread_start_time_vc()

void pfs_set_thread_start_time_vc ( time_t  start_time)

Implementation of the thread instrumentation interface.

See also
PSI_v2::set_thread_start_time.

◆ pfs_set_thread_state_v1()

void pfs_set_thread_state_v1 ( const char *  )

Implementation of the thread instrumentation interface.

See also
PSI_v1::set_thread_state.

◆ pfs_set_thread_THD_vc()

void pfs_set_thread_THD_vc ( PSI_thread thread,
THD thd 
)

Implementation of the thread instrumentation interface.

See also
PSI_v2::set_thread_THD.

◆ pfs_set_thread_user_vc()

void pfs_set_thread_user_vc ( const char *  user,
int  user_len 
)

Implementation of the thread instrumentation interface.

See also
PSI_v2::set_thread_user.

◆ pfs_set_thread_vc()

void pfs_set_thread_vc ( PSI_thread thread)

Implementation of the thread instrumentation interface.

See also
PSI_v2::set_thread.

◆ pfs_set_transaction_gtid_v1()

void pfs_set_transaction_gtid_v1 ( PSI_transaction_locker locker,
const void *  sid,
const void *  gtid_spec 
)

◆ pfs_set_transaction_trxid_v1()

void pfs_set_transaction_trxid_v1 ( PSI_transaction_locker locker,
const ulonglong trxid 
)

◆ pfs_set_transaction_xa_state_v1()

void pfs_set_transaction_xa_state_v1 ( PSI_transaction_locker locker,
int  xa_state 
)

◆ pfs_set_transaction_xid_v1()

void pfs_set_transaction_xid_v1 ( PSI_transaction_locker locker,
const void *  xid,
int  xa_state 
)

◆ pfs_signal_cond_v1()

void pfs_signal_cond_v1 ( PSI_cond cond)

Implementation of the cond instrumentation interface.

See also
PSI_v1::signal_cond.

◆ pfs_spawn_thread()

static void* pfs_spawn_thread ( void *  arg)
static

◆ pfs_spawn_thread_vc()

int pfs_spawn_thread_vc ( PSI_thread_key  key,
my_thread_handle thread,
const my_thread_attr_t attr,
void *(*)(void *)  start_routine,
void *  arg 
)

Implementation of the thread instrumentation interface.

See also
PSI_v2::spawn_thread.

◆ pfs_start_cond_wait_v1()

PSI_cond_locker* pfs_start_cond_wait_v1 ( PSI_cond_locker_state state,
PSI_cond cond,
PSI_mutex mutex,
PSI_cond_operation  op,
const char *  src_file,
uint  src_line 
)

Implementation of the cond instrumentation interface.

See also
PSI_v1::start_cond_wait.

◆ pfs_start_file_close_wait_vc()

void pfs_start_file_close_wait_vc ( PSI_file_locker locker,
const char *  src_file,
uint  src_line 
)

Implementation of the file instrumentation interface.

See also
PSI_v1::start_file_close_wait.

◆ pfs_start_file_open_wait_vc()

void pfs_start_file_open_wait_vc ( PSI_file_locker locker,
const char *  src_file,
uint  src_line 
)

Implementation of the file instrumentation interface.

See also
PSI_v1::start_file_open_wait.

◆ pfs_start_file_rename_wait_vc()

void pfs_start_file_rename_wait_vc ( PSI_file_locker locker,
size_t  count,
const char *  old_name,
const char *  new_name,
const char *  src_file,
uint  src_line 
)

Implementation of the file instrumentation interface.

See also
PSI_v1::start_file_rename_wait.

◆ pfs_start_file_wait_vc()

void pfs_start_file_wait_vc ( PSI_file_locker locker,
size_t  count,
const char *  src_file,
uint  src_line 
)

Implementation of the file instrumentation interface.

See also
PSI_v1::start_file_wait.

◆ pfs_start_idle_wait_v1()

PSI_idle_locker* pfs_start_idle_wait_v1 ( PSI_idle_locker_state state,
const char *  src_file,
uint  src_line 
)

Implementation of the idle instrumentation interface.

See also
PSI_v1::start_idle_wait.

◆ pfs_start_metadata_wait_vc()

PSI_metadata_locker* pfs_start_metadata_wait_vc ( PSI_metadata_locker_state state,
PSI_metadata_lock lock,
const char *  src_file,
uint  src_line 
)

◆ pfs_start_mutex_wait_v1()

PSI_mutex_locker* pfs_start_mutex_wait_v1 ( PSI_mutex_locker_state state,
PSI_mutex mutex,
PSI_mutex_operation  op,
const char *  src_file,
uint  src_line 
)

Implementation of the mutex instrumentation interface.

See also
PSI_v1::start_mutex_wait.

◆ pfs_start_rwlock_rdwait_v2()

PSI_rwlock_locker* pfs_start_rwlock_rdwait_v2 ( PSI_rwlock_locker_state state,
PSI_rwlock rwlock,
PSI_rwlock_operation  op,
const char *  src_file,
uint  src_line 
)

◆ pfs_start_rwlock_wait_v2()

static PSI_rwlock_locker* pfs_start_rwlock_wait_v2 ( PSI_rwlock_locker_state state,
PSI_rwlock rwlock,
PSI_rwlock_operation  op,
const char *  src_file,
uint  src_line 
)
static

Implementation of the rwlock instrumentation interface.

See also
PSI_v2::start_rwlock_rdwait
PSI_v2::start_rwlock_wrwait

◆ pfs_start_rwlock_wrwait_v2()

PSI_rwlock_locker* pfs_start_rwlock_wrwait_v2 ( PSI_rwlock_locker_state state,
PSI_rwlock rwlock,
PSI_rwlock_operation  op,
const char *  src_file,
uint  src_line 
)

◆ pfs_start_socket_wait_v1()

PSI_socket_locker* pfs_start_socket_wait_v1 ( PSI_socket_locker_state state,
PSI_socket socket,
PSI_socket_operation  op,
size_t  count,
const char *  src_file,
uint  src_line 
)

Socket locker.

◆ pfs_start_sp_v2()

static PSI_sp_locker* pfs_start_sp_v2 ( PSI_sp_locker_state state,
PSI_sp_share sp_share 
)
static

◆ pfs_start_stage_v1()

PSI_stage_progress* pfs_start_stage_v1 ( PSI_stage_key  key,
const char *  src_file,
int  src_line 
)

◆ pfs_start_statement_v2()

void pfs_start_statement_v2 ( PSI_statement_locker locker,
const char *  db,
uint  db_len,
const char *  src_file,
uint  src_line 
)

◆ pfs_start_table_io_wait_v1()

PSI_table_locker* pfs_start_table_io_wait_v1 ( PSI_table_locker_state state,
PSI_table table,
PSI_table_io_operation  op,
uint  index,
const char *  src_file,
uint  src_line 
)

Implementation of the table instrumentation interface.

See also
PSI_v1::start_table_io_wait_v1

◆ pfs_start_table_lock_wait_v1()

PSI_table_locker* pfs_start_table_lock_wait_v1 ( PSI_table_locker_state state,
PSI_table table,
PSI_table_lock_operation  op,
ulong  op_flags,
const char *  src_file,
uint  src_line 
)

Implementation of the table instrumentation interface.

See also
PSI_v1::start_table_lock_wait.

◆ pfs_start_transaction_v1()

void pfs_start_transaction_v1 ( PSI_transaction_locker locker,
const char *  src_file,
uint  src_line 
)

◆ pfs_unbind_table_v1()

void pfs_unbind_table_v1 ( PSI_table table)

Implementation of the table instrumentation interface.

See also
PSI_v1::unbind_table.

◆ pfs_unload_plugin_v1()

void pfs_unload_plugin_v1 ( const char *  plugin_name)

Implementation of the thread instrumentation interface.

See also
PSI_v1::unload_plugin.

◆ pfs_unlock_mutex_v1()

void pfs_unlock_mutex_v1 ( PSI_mutex mutex)

Implementation of the mutex instrumentation interface.

See also
PSI_v1::unlock_mutex.

◆ pfs_unlock_rwlock_v2()

void pfs_unlock_rwlock_v2 ( PSI_rwlock rwlock,
PSI_rwlock_operation  op 
)

Implementation of the rwlock instrumentation interface.

See also
PSI_v1::unlock_rwlock.

◆ pfs_unlock_table_v1()

void pfs_unlock_table_v1 ( PSI_table table)

◆ pfs_unregister_data_lock_v1()

void pfs_unregister_data_lock_v1 ( PSI_engine_data_lock_inspector inspector)

◆ pfs_unregister_notification_vc()

int pfs_unregister_notification_vc ( int  handle)

Implementation of the thread instrumentation interface.

See also
PSI_v2::unregister_notification.

◆ PROVIDES_SERVICE() [1/37]

PROVIDES_SERVICE ( performance_schema  ,
pfs_plugin_column_bigint_v1   
)

◆ PROVIDES_SERVICE() [2/37]

PROVIDES_SERVICE ( performance_schema  ,
pfs_plugin_column_blob_v1   
)

◆ PROVIDES_SERVICE() [3/37]

PROVIDES_SERVICE ( performance_schema  ,
pfs_plugin_column_date_v1   
)

◆ PROVIDES_SERVICE() [4/37]

PROVIDES_SERVICE ( performance_schema  ,
pfs_plugin_column_datetime_v1   
)

◆ PROVIDES_SERVICE() [5/37]

PROVIDES_SERVICE ( performance_schema  ,
pfs_plugin_column_decimal_v1   
)

◆ PROVIDES_SERVICE() [6/37]

PROVIDES_SERVICE ( performance_schema  ,
pfs_plugin_column_double_v1   
)

◆ PROVIDES_SERVICE() [7/37]

PROVIDES_SERVICE ( performance_schema  ,
pfs_plugin_column_enum_v1   
)

◆ PROVIDES_SERVICE() [8/37]

PROVIDES_SERVICE ( performance_schema  ,
pfs_plugin_column_float_v1   
)

◆ PROVIDES_SERVICE() [9/37]

PROVIDES_SERVICE ( performance_schema  ,
pfs_plugin_column_integer_v1   
)

◆ PROVIDES_SERVICE() [10/37]

PROVIDES_SERVICE ( performance_schema  ,
pfs_plugin_column_medium_v1   
)

◆ PROVIDES_SERVICE() [11/37]

PROVIDES_SERVICE ( performance_schema  ,
pfs_plugin_column_small_v1   
)

◆ PROVIDES_SERVICE() [12/37]

PROVIDES_SERVICE ( performance_schema  ,
pfs_plugin_column_string_v1   
)

◆ PROVIDES_SERVICE() [13/37]

PROVIDES_SERVICE ( performance_schema  ,
pfs_plugin_column_time_v1   
)

◆ PROVIDES_SERVICE() [14/37]

PROVIDES_SERVICE ( performance_schema  ,
pfs_plugin_column_timestamp_v1   
)

◆ PROVIDES_SERVICE() [15/37]

PROVIDES_SERVICE ( performance_schema  ,
pfs_plugin_column_timestamp_v2   
)

◆ PROVIDES_SERVICE() [16/37]

PROVIDES_SERVICE ( performance_schema  ,
pfs_plugin_column_tiny_v1   
)

◆ PROVIDES_SERVICE() [17/37]

PROVIDES_SERVICE ( performance_schema  ,
pfs_plugin_column_year_v1   
)

◆ PROVIDES_SERVICE() [18/37]

PROVIDES_SERVICE ( performance_schema  ,
pfs_plugin_table   
)

◆ PROVIDES_SERVICE() [19/37]

PROVIDES_SERVICE ( performance_schema  ,
pfs_plugin_table_v1   
)

◆ PROVIDES_SERVICE() [20/37]

PROVIDES_SERVICE ( performance_schema  ,
psi_cond_v1   
)

◆ PROVIDES_SERVICE() [21/37]

PROVIDES_SERVICE ( performance_schema  ,
psi_error_v1   
)

◆ PROVIDES_SERVICE() [22/37]

PROVIDES_SERVICE ( performance_schema  ,
psi_file_v2   
)

◆ PROVIDES_SERVICE() [23/37]

PROVIDES_SERVICE ( performance_schema  ,
psi_idle_v1   
)

◆ PROVIDES_SERVICE() [24/37]

PROVIDES_SERVICE ( performance_schema  ,
psi_mdl_v1   
)

◆ PROVIDES_SERVICE() [25/37]

PROVIDES_SERVICE ( performance_schema  ,
psi_mdl_v2   
)

◆ PROVIDES_SERVICE() [26/37]

PROVIDES_SERVICE ( performance_schema  ,
psi_memory_v2   
)

◆ PROVIDES_SERVICE() [27/37]

PROVIDES_SERVICE ( performance_schema  ,
psi_mutex_v1   
)

◆ PROVIDES_SERVICE() [28/37]

PROVIDES_SERVICE ( performance_schema  ,
psi_rwlock_v2   
)

◆ PROVIDES_SERVICE() [29/37]

PROVIDES_SERVICE ( performance_schema  ,
psi_socket_v1   
)

◆ PROVIDES_SERVICE() [30/37]

PROVIDES_SERVICE ( performance_schema  ,
psi_stage_v1   
)

◆ PROVIDES_SERVICE() [31/37]

PROVIDES_SERVICE ( performance_schema  ,
psi_statement_v1   
)

◆ PROVIDES_SERVICE() [32/37]

PROVIDES_SERVICE ( performance_schema  ,
psi_statement_v2   
)

◆ PROVIDES_SERVICE() [33/37]

PROVIDES_SERVICE ( performance_schema  ,
psi_system_v1   
)

◆ PROVIDES_SERVICE() [34/37]

PROVIDES_SERVICE ( performance_schema  ,
psi_table_v1   
)

◆ PROVIDES_SERVICE() [35/37]

PROVIDES_SERVICE ( performance_schema  ,
psi_thread_v4   
)

◆ PROVIDES_SERVICE() [36/37]

PROVIDES_SERVICE ( performance_schema  ,
psi_tls_channel_v1   
)

◆ PROVIDES_SERVICE() [37/37]

PROVIDES_SERVICE ( performance_schema  ,
psi_transaction_v1   
)

◆ SERVICE_IMPLEMENTATION() [1/17]

const mysql_service_psi_cond_v1_t SERVICE_IMPLEMENTATION ( performance_schema  ,
psi_cond_v1   
)

◆ SERVICE_IMPLEMENTATION() [2/17]

const mysql_service_psi_error_v1_t SERVICE_IMPLEMENTATION ( performance_schema  ,
psi_error_v1   
)

◆ SERVICE_IMPLEMENTATION() [3/17]

const mysql_service_psi_file_v2_t SERVICE_IMPLEMENTATION ( performance_schema  ,
psi_file_v2   
)

◆ SERVICE_IMPLEMENTATION() [4/17]

const mysql_service_psi_idle_v1_t SERVICE_IMPLEMENTATION ( performance_schema  ,
psi_idle_v1   
)

◆ SERVICE_IMPLEMENTATION() [5/17]

const mysql_service_psi_mdl_v1_t SERVICE_IMPLEMENTATION ( performance_schema  ,
psi_mdl_v1   
)

◆ SERVICE_IMPLEMENTATION() [6/17]

const mysql_service_psi_mdl_v2_t SERVICE_IMPLEMENTATION ( performance_schema  ,
psi_mdl_v2   
)

◆ SERVICE_IMPLEMENTATION() [7/17]

const mysql_service_psi_memory_v2_t SERVICE_IMPLEMENTATION ( performance_schema  ,
psi_memory_v2   
)

◆ SERVICE_IMPLEMENTATION() [8/17]

const mysql_service_psi_mutex_v1_t SERVICE_IMPLEMENTATION ( performance_schema  ,
psi_mutex_v1   
)

◆ SERVICE_IMPLEMENTATION() [9/17]

const mysql_service_psi_rwlock_v2_t SERVICE_IMPLEMENTATION ( performance_schema  ,
psi_rwlock_v2   
)

◆ SERVICE_IMPLEMENTATION() [10/17]

const mysql_service_psi_socket_v1_t SERVICE_IMPLEMENTATION ( performance_schema  ,
psi_socket_v1   
)

◆ SERVICE_IMPLEMENTATION() [11/17]

const mysql_service_psi_stage_v1_t SERVICE_IMPLEMENTATION ( performance_schema  ,
psi_stage_v1   
)

◆ SERVICE_IMPLEMENTATION() [12/17]

const mysql_service_psi_statement_v1_t SERVICE_IMPLEMENTATION ( performance_schema  ,
psi_statement_v1   
)

◆ SERVICE_IMPLEMENTATION() [13/17]

const mysql_service_psi_statement_v2_t SERVICE_IMPLEMENTATION ( performance_schema  ,
psi_statement_v2   
)

◆ SERVICE_IMPLEMENTATION() [14/17]

const mysql_service_psi_table_v1_t SERVICE_IMPLEMENTATION ( performance_schema  ,
psi_table_v1   
)

◆ SERVICE_IMPLEMENTATION() [15/17]

const mysql_service_psi_thread_v4_t SERVICE_IMPLEMENTATION ( performance_schema  ,
psi_thread_v4   
)

◆ SERVICE_IMPLEMENTATION() [16/17]

const mysql_service_psi_tls_channel_v1_t SERVICE_IMPLEMENTATION ( performance_schema  ,
psi_tls_channel_v1   
)

◆ SERVICE_IMPLEMENTATION() [17/17]

const mysql_service_psi_transaction_v1_t SERVICE_IMPLEMENTATION ( performance_schema  ,
psi_transaction_v1   
)

◆ set_thread_resource_group()

int set_thread_resource_group ( PFS_thread pfs,
const char *  group_name,
int  group_name_len,
void *  user_data 
)

Set the resource group name for a given thread.

Parameters
pfsThread instrumentation
group_nameGroup name
group_name_lenLength of group_name
user_dataOptional pointer to user-defined data
Returns
0 if successful, 1 otherwise

◆ sp_type_to_object_type()

static enum_object_type sp_type_to_object_type ( uint  sp_type)
inlinestatic

Variable Documentation

◆ cond_operation_map

enum_operation_type cond_operation_map[]
static
Initial value:
@ OPERATION_TYPE_WAIT
Definition: pfs_column_types.h:124
@ OPERATION_TYPE_TIMEDWAIT
Definition: pfs_column_types.h:125

Conversion map from PSI_cond_operation to enum_operation_type.

Indexed by enum PSI_cond_operation.

◆ file_operation_map

enum_operation_type file_operation_map[]
static
Initial value:
= {
@ OPERATION_TYPE_FILESTAT
Definition: pfs_column_types.h:139
@ OPERATION_TYPE_FILEDELETE
Definition: pfs_column_types.h:142
@ OPERATION_TYPE_FILESYNC
Definition: pfs_column_types.h:144
@ OPERATION_TYPE_FILECREATETMP
Definition: pfs_column_types.h:129
@ OPERATION_TYPE_FILECHSIZE
Definition: pfs_column_types.h:141
@ OPERATION_TYPE_FILEREAD
Definition: pfs_column_types.h:134
@ OPERATION_TYPE_FILERENAME
Definition: pfs_column_types.h:143
@ OPERATION_TYPE_FILECLOSE
Definition: pfs_column_types.h:132
@ OPERATION_TYPE_FILEWRITE
Definition: pfs_column_types.h:135
@ OPERATION_TYPE_FILETELL
Definition: pfs_column_types.h:137
@ OPERATION_TYPE_FILEFLUSH
Definition: pfs_column_types.h:138
@ OPERATION_TYPE_FILESTREAMOPEN
Definition: pfs_column_types.h:131
@ OPERATION_TYPE_FILEFSTAT
Definition: pfs_column_types.h:140
@ OPERATION_TYPE_FILESEEK
Definition: pfs_column_types.h:136
@ OPERATION_TYPE_FILECREATE
Definition: pfs_column_types.h:128
@ OPERATION_TYPE_FILEOPEN
Definition: pfs_column_types.h:130
@ OPERATION_TYPE_FILESTREAMCLOSE
Definition: pfs_column_types.h:133

Conversion map from PSI_file_operation to enum_operation_type.

Indexed by enum PSI_file_operation.

◆ g_data_lock_inspector

Initial value:
=
{nullptr}

◆ g_data_lock_inspector_count

unsigned int g_data_lock_inspector_count = 0

◆ mutex_operation_map

enum_operation_type mutex_operation_map[]
static
Initial value:
@ OPERATION_TYPE_TRYLOCK
Definition: pfs_column_types.h:103
@ OPERATION_TYPE_LOCK
Definition: pfs_column_types.h:102

Conversion map from PSI_mutex_operation to enum_operation_type.

Indexed by enum PSI_mutex_operation.

◆ mysql_component_performance_schema

mysql_component_t mysql_component_performance_schema
Initial value:
= { "mysql:pfs" , __performance_schema_provides, __performance_schema_requires, __performance_schema_metadata,
nullptr, nullptr }

◆ pfs_cond_bootstrap

struct PSI_cond_bootstrap pfs_cond_bootstrap = {get_cond_interface}

Entry point to the performance schema implementation.

This singleton is used to discover the performance schema services.

◆ pfs_cond_service_v1

PSI_cond_service_v1 pfs_cond_service_v1
Initial value:
= {
void pfs_destroy_cond_v1(PSI_cond *cond)
Implementation of the cond instrumentation interface.
Definition: pfs.cc:2575
void pfs_end_cond_wait_v1(PSI_cond_locker *locker, int)
Implementation of the cond instrumentation interface.
Definition: pfs.cc:5078
void pfs_signal_cond_v1(PSI_cond *cond)
Implementation of the cond instrumentation interface.
Definition: pfs.cc:4683
PSI_cond * pfs_init_cond_v1(PSI_cond_key key, const void *identity)
Implementation of the cond instrumentation interface.
Definition: pfs.cc:2555
PSI_cond_locker * pfs_start_cond_wait_v1(PSI_cond_locker_state *state, PSI_cond *cond, PSI_mutex *mutex, PSI_cond_operation op, const char *src_file, uint src_line)
Implementation of the cond instrumentation interface.
Definition: pfs.cc:3747
void pfs_register_cond_v1(const char *category, PSI_cond_info_v1 *info, int count)
Implementation of the cond instrumentation interface.
Definition: pfs.cc:2384
void pfs_broadcast_cond_v1(PSI_cond *cond)
Implementation of the cond instrumentation interface.
Definition: pfs.cc:4697

◆ pfs_data_lock_bootstrap

struct PSI_data_lock_bootstrap pfs_data_lock_bootstrap
Initial value:
= {
static void * get_data_lock_interface(int version)
Definition: pfs.cc:8717

◆ pfs_data_lock_service_v1

PSI_data_lock_service_v1 pfs_data_lock_service_v1
Initial value:
= {
void pfs_unregister_data_lock_v1(PSI_engine_data_lock_inspector *)
Definition: pfs.cc:8074
void pfs_register_data_lock_v1(PSI_engine_data_lock_inspector *inspector)
Definition: pfs.cc:8067

◆ pfs_error_bootstrap

struct PSI_error_bootstrap pfs_error_bootstrap = {get_error_interface}

◆ pfs_error_service_v1

PSI_error_service_v1 pfs_error_service_v1
Initial value:
= {
void pfs_log_error_v1(uint error_num, PSI_error_operation error_operation)
Definition: pfs.cc:8016

◆ pfs_file_bootstrap

struct PSI_file_bootstrap pfs_file_bootstrap = {get_file_interface}

◆ pfs_file_service_v2

PSI_file_service_v2 pfs_file_service_v2
Initial value:
= {
void pfs_create_file_vc(PSI_file_key key, const char *name, File file)
Implementation of the file instrumentation interface.
Definition: pfs.cc:2796
void pfs_start_file_close_wait_vc(PSI_file_locker *locker, const char *src_file, uint src_line)
Implementation of the file instrumentation interface.
Definition: pfs.cc:5550
void pfs_end_file_close_wait_vc(PSI_file_locker *locker, int rc)
Implementation of the file instrumentation interface.
Definition: pfs.cc:5578
PSI_file_locker * pfs_get_thread_file_name_locker_vc(PSI_file_locker_state *state, PSI_file_key key, PSI_file_operation op, const char *name, const void *)
Implementation of the file instrumentation interface.
Definition: pfs.cc:4105
PSI_file_locker * pfs_get_thread_file_descriptor_locker_vc(PSI_file_locker_state *state, File file, PSI_file_operation op)
Implementation of the file instrumentation interface.
Definition: pfs.cc:4312
void pfs_end_file_open_wait_and_bind_to_descriptor_vc(PSI_file_locker *locker, File file)
Implementation of the file instrumentation interface.
Definition: pfs.cc:5354
void pfs_end_file_rename_wait_vc(PSI_file_locker *locker, const char *old_name, const char *new_name, int rc)
Implementation of the file instrumentation interface.
Definition: pfs.cc:5648
void pfs_start_file_wait_vc(PSI_file_locker *locker, size_t count, const char *src_file, uint src_line)
Implementation of the file instrumentation interface.
Definition: pfs.cc:5410
void pfs_end_temp_file_open_wait_and_bind_to_descriptor_vc(PSI_file_locker *locker, File file, const char *filename)
Implementation of the file instrumentation interface.
Definition: pfs.cc:5389
void pfs_register_file_vc(const char *category, PSI_file_info_v1 *info, int count)
Implementation of the file instrumentation interface.
Definition: pfs.cc:2403
PSI_file_locker * pfs_get_thread_file_stream_locker_vc(PSI_file_locker_state *state, PSI_file *file, PSI_file_operation op)
Implementation of the file instrumentation interface.
Definition: pfs.cc:4215
void pfs_start_file_open_wait_vc(PSI_file_locker *locker, const char *src_file, uint src_line)
Implementation of the file instrumentation interface.
Definition: pfs.cc:5306
void pfs_end_file_wait_vc(PSI_file_locker *locker, size_t count)
Implementation of the file instrumentation interface.
Definition: pfs.cc:5440
PSI_file * pfs_end_file_open_wait_vc(PSI_file_locker *locker, void *result)
Implementation of the file instrumentation interface.
Definition: pfs.cc:5317
void pfs_start_file_rename_wait_vc(PSI_file_locker *locker, size_t count, const char *old_name, const char *new_name, const char *src_file, uint src_line)
Implementation of the file instrumentation interface.
Definition: pfs.cc:5624

◆ pfs_idle_bootstrap

struct PSI_idle_bootstrap pfs_idle_bootstrap = {get_idle_interface}

◆ pfs_idle_service_v1

PSI_idle_service_v1 pfs_idle_service_v1
Initial value:
= {
void pfs_end_idle_wait_v1(PSI_idle_locker *locker)
Implementation of the mutex instrumentation interface.
Definition: pfs.cc:4793
PSI_idle_locker * pfs_start_idle_wait_v1(PSI_idle_locker_state *state, const char *src_file, uint src_line)
Implementation of the idle instrumentation interface.
Definition: pfs.cc:4711

◆ pfs_mdl_bootstrap

struct PSI_mdl_bootstrap pfs_mdl_bootstrap = {get_mdl_interface}

◆ pfs_mdl_service_v1

PSI_mdl_service_v1 pfs_mdl_service_v1
Initial value:
= {
void pfs_destroy_metadata_lock_vc(PSI_metadata_lock *lock)
Definition: pfs.cc:7870
PSI_metadata_lock * pfs_create_metadata_lock_vc(void *identity, const MDL_key *mdl_key, opaque_mdl_type mdl_type, opaque_mdl_duration mdl_duration, opaque_mdl_status mdl_status, const char *src_file, uint src_line)
Definition: pfs.cc:7827
PSI_metadata_locker * pfs_start_metadata_wait_vc(PSI_metadata_locker_state *state, PSI_metadata_lock *lock, const char *src_file, uint src_line)
Definition: pfs.cc:7876
void pfs_set_metadata_lock_status_vc(PSI_metadata_lock *lock, opaque_mdl_status mdl_status)
Definition: pfs.cc:7856
void pfs_end_metadata_wait_vc(PSI_metadata_locker *locker, int)
Definition: pfs.cc:7959

◆ pfs_mdl_service_v2

PSI_mdl_service_v2 pfs_mdl_service_v2
Initial value:
= {
void pfs_set_metadata_lock_duration_vc(PSI_metadata_lock *lock, opaque_mdl_duration mdl_duration)
Definition: pfs.cc:7863

◆ pfs_memory_bootstrap

struct PSI_memory_bootstrap pfs_memory_bootstrap = {get_memory_interface}

◆ pfs_memory_service_v2

PSI_memory_service_v2 pfs_memory_service_v2
Initial value:
= {
PSI_memory_key pfs_memory_realloc_vc(PSI_memory_key key, size_t old_size, size_t new_size, PSI_thread **owner)
Definition: pfs.cc:7566
PSI_memory_key pfs_memory_claim_vc(PSI_memory_key key, size_t size, PSI_thread **owner, bool claim)
Definition: pfs.cc:7643
void pfs_register_memory_vc(const char *category, PSI_memory_info_v1 *info, int count)
Definition: pfs.cc:7495
PSI_memory_key pfs_memory_alloc_vc(PSI_memory_key key, size_t size, PSI_thread **owner)
Definition: pfs.cc:7501
void pfs_memory_free_vc(PSI_memory_key key, size_t size, PSI_thread *owner)
Definition: pfs.cc:7759

◆ pfs_mutex_bootstrap

struct PSI_mutex_bootstrap pfs_mutex_bootstrap = {get_mutex_interface}

◆ pfs_mutex_service_v1

PSI_mutex_service_v1 pfs_mutex_service_v1
Initial value:
= {
void pfs_destroy_mutex_v1(PSI_mutex *mutex)
Implementation of the mutex instrumentation interface.
Definition: pfs.cc:2511
void pfs_end_mutex_wait_v1(PSI_mutex_locker *locker, int rc)
Implementation of the mutex instrumentation interface.
Definition: pfs.cc:4853
void pfs_register_mutex_v1(const char *category, PSI_mutex_info_v1 *info, int count)
Implementation of the mutex instrumentation interface.
Definition: pfs.cc:2298
PSI_mutex * pfs_init_mutex_v1(PSI_mutex_key key, const void *identity)
Implementation of the mutex instrumentation interface.
Definition: pfs.cc:2491
PSI_mutex_locker * pfs_start_mutex_wait_v1(PSI_mutex_locker_state *state, PSI_mutex *mutex, PSI_mutex_operation op, const char *src_file, uint src_line)
Implementation of the mutex instrumentation interface.
Definition: pfs.cc:3521
void pfs_unlock_mutex_v1(PSI_mutex *mutex)
Implementation of the mutex instrumentation interface.
Definition: pfs.cc:4559

◆ pfs_rwlock_bootstrap

struct PSI_rwlock_bootstrap pfs_rwlock_bootstrap = {get_rwlock_interface}

◆ pfs_rwlock_service_v2

PSI_rwlock_service_v2 pfs_rwlock_service_v2
Initial value:
= {
PSI_rwlock_locker * pfs_start_rwlock_wrwait_v2(PSI_rwlock_locker_state *state, PSI_rwlock *rwlock, PSI_rwlock_operation op, const char *src_file, uint src_line)
Definition: pfs.cc:3729
void pfs_end_rwlock_wrwait_v2(PSI_rwlock_locker *locker, int rc)
Implementation of the rwlock instrumentation interface.
Definition: pfs.cc:5002
void pfs_end_rwlock_rdwait_v2(PSI_rwlock_locker *locker, int rc)
Implementation of the rwlock instrumentation interface.
Definition: pfs.cc:4924
void pfs_destroy_rwlock_v2(PSI_rwlock *rwlock)
Implementation of the rwlock instrumentation interface.
Definition: pfs.cc:2543
void pfs_register_rwlock_v2(const char *category, PSI_rwlock_info_v1 *info, int count)
Implementation of the rwlock instrumentation interface.
Definition: pfs.cc:2308
PSI_rwlock * pfs_init_rwlock_v2(PSI_rwlock_key key, const void *identity)
Implementation of the rwlock instrumentation interface.
Definition: pfs.cc:2523
void pfs_unlock_rwlock_v2(PSI_rwlock *rwlock, PSI_rwlock_operation op)
Implementation of the rwlock instrumentation interface.
Definition: pfs.cc:4603
PSI_rwlock_locker * pfs_start_rwlock_rdwait_v2(PSI_rwlock_locker_state *state, PSI_rwlock *rwlock, PSI_rwlock_operation op, const char *src_file, uint src_line)
Definition: pfs.cc:3718

◆ pfs_socket_bootstrap

struct PSI_socket_bootstrap pfs_socket_bootstrap = {get_socket_interface}

◆ pfs_socket_service_v1

PSI_socket_service_v1 pfs_socket_service_v1
Initial value:
= {
PSI_socket_locker * pfs_start_socket_wait_v1(PSI_socket_locker_state *state, PSI_socket *socket, PSI_socket_operation op, size_t count, const char *src_file, uint src_line)
Socket locker.
Definition: pfs.cc:4440
void pfs_set_socket_info_v1(PSI_socket *socket, const my_socket *fd, const struct sockaddr *addr, socklen_t addr_len)
Set socket descriptor and address info.
Definition: pfs.cc:7206
PSI_socket * pfs_init_socket_v1(PSI_socket_key key, const my_socket *fd, const struct sockaddr *addr, socklen_t addr_len)
Definition: pfs.cc:2766
void pfs_end_socket_wait_v1(PSI_socket_locker *locker, size_t byte_count)
Implementation of the socket instrumentation interface.
Definition: pfs.cc:7112
void pfs_register_socket_v1(const char *category, PSI_socket_info_v1 *info, int count)
Definition: pfs.cc:2481
void pfs_set_socket_thread_owner_v1(PSI_socket *socket)
Implementation of the socket instrumentation interface.
Definition: pfs.cc:7228
void pfs_set_socket_state_v1(PSI_socket *socket, PSI_socket_state state)
Definition: pfs.cc:7193
void pfs_destroy_socket_v1(PSI_socket *socket)
Definition: pfs.cc:2784

◆ pfs_stage_bootstrap

struct PSI_stage_bootstrap pfs_stage_bootstrap = {get_stage_interface}

◆ pfs_stage_service_v1

PSI_stage_service_v1 pfs_stage_service_v1
Initial value:
= {
void pfs_register_stage_v1(const char *category, PSI_stage_info_v1 **info_array, int count)
Definition: pfs.cc:2408
void pfs_end_stage_v1()
Definition: pfs.cc:5793
PSI_stage_progress * pfs_get_current_stage_progress_v1()
Definition: pfs.cc:5784
PSI_stage_progress * pfs_start_stage_v1(PSI_stage_key key, const char *src_file, int src_line)
Definition: pfs.cc:5673

◆ pfs_statement_bootstrap

struct PSI_statement_bootstrap pfs_statement_bootstrap
Initial value:
= {
static void * get_statement_interface(int version)
Definition: pfs.cc:8644

◆ pfs_statement_service_v2

PSI_statement_service_v2 pfs_statement_service_v2

◆ pfs_system_bootstrap

struct PSI_system_bootstrap pfs_system_bootstrap = {get_system_interface}

◆ pfs_system_service_v1

PSI_system_service_v1 pfs_system_service_v1
Initial value:
= {
void pfs_unload_plugin_v1(const char *plugin_name)
Implementation of the thread instrumentation interface.
Definition: pfs.cc:8096

Implementation of the instrumentation interface.

See also
PSI_system_service_v1

◆ pfs_table_bootstrap

struct PSI_table_bootstrap pfs_table_bootstrap = {get_table_interface}

◆ pfs_table_service_v1

PSI_table_service_v1 pfs_table_service_v1
Initial value:
= {
PSI_table_locker * pfs_start_table_io_wait_v1(PSI_table_locker_state *state, PSI_table *table, PSI_table_io_operation op, uint index, const char *src_file, uint src_line)
Implementation of the table instrumentation interface.
Definition: pfs.cc:3890
PSI_table_share * pfs_get_table_share_v1(bool temporary, TABLE_SHARE *share)
Implementation of the table instrumentation interface.
Definition: pfs.cc:2587
PSI_table * pfs_rebind_table_v1(PSI_table_share *share, const void *identity, PSI_table *table)
Implementation of the table instrumentation interface.
Definition: pfs.cc:2691
void pfs_end_table_io_wait_v1(PSI_table_locker *locker, ulonglong numrows)
Implementation of the table instrumentation interface.
Definition: pfs.cc:5139
PSI_table_locker * pfs_start_table_lock_wait_v1(PSI_table_locker_state *state, PSI_table *table, PSI_table_lock_operation op, ulong op_flags, const char *src_file, uint src_line)
Implementation of the table instrumentation interface.
Definition: pfs.cc:3984
void pfs_end_table_lock_wait_v1(PSI_table_locker *locker)
Implementation of the table instrumentation interface.
Definition: pfs.cc:5233
void pfs_drop_table_share_v1(bool temporary, const char *schema_name, int schema_name_length, const char *table_name, int table_name_length)
Implementation of the table instrumentation interface.
Definition: pfs.cc:2620
void pfs_release_table_share_v1(PSI_table_share *share)
Implementation of the table instrumentation interface.
Definition: pfs.cc:2606
PSI_table * pfs_open_table_v1(PSI_table_share *share, const void *identity)
Implementation of the table instrumentation interface.
Definition: pfs.cc:2640
void pfs_unbind_table_v1(PSI_table *table)
Implementation of the table instrumentation interface.
Definition: pfs.cc:2679
void pfs_unlock_table_v1(PSI_table *table)
Definition: pfs.cc:7818
void pfs_close_table_v1(TABLE_SHARE *server_share, PSI_table *table)
Implementation of the table instrumentation interface.
Definition: pfs.cc:2757

◆ pfs_thread_bootstrap

struct PSI_thread_bootstrap pfs_thread_bootstrap = {get_thread_interface}

◆ pfs_thread_service_v4

PSI_thread_service_v4 pfs_thread_service_v4

Implementation of the instrumentation interface.

See also
PSI_thread_service_v4

◆ pfs_tls_channel_bootstrap

struct PSI_tls_channel_bootstrap pfs_tls_channel_bootstrap
Initial value:
= {
static void * get_tls_channel_interface(int version)
Definition: pfs.cc:8726

◆ pfs_tls_channel_service_v1

PSI_tls_channel_service_v1 pfs_tls_channel_service_v1
Initial value:
= {
void pfs_register_tls_channel_v1(TLS_channel_property_iterator *provider)
Definition: pfs_tls_channel.cc:218
void pfs_unregister_tls_channel_v1(TLS_channel_property_iterator *provider)
Definition: pfs_tls_channel.cc:233

◆ pfs_transaction_bootstrap

struct PSI_transaction_bootstrap pfs_transaction_bootstrap
Initial value:
= {
static void * get_transaction_interface(int version)
Definition: pfs.cc:8690

◆ pfs_transaction_service_v1

PSI_transaction_service_v1 pfs_transaction_service_v1
Initial value:
= {
PSI_transaction_locker * pfs_get_thread_transaction_locker_v1(PSI_transaction_locker_state *state, const void *xid, const ulonglong *trxid, int isolation_level, bool read_only, bool autocommit)
Definition: pfs.cc:6809
void pfs_set_transaction_xa_state_v1(PSI_transaction_locker *locker, int xa_state)
Definition: pfs.cc:6963
void pfs_inc_transaction_rollback_to_savepoint_v1(PSI_transaction_locker *locker, ulong count)
Definition: pfs.cc:7019
void pfs_end_transaction_v1(PSI_transaction_locker *locker, bool commit)
Definition: pfs.cc:7029
void pfs_set_transaction_trxid_v1(PSI_transaction_locker *locker, const ulonglong *trxid)
Definition: pfs.cc:6980
void pfs_start_transaction_v1(PSI_transaction_locker *locker, const char *src_file, uint src_line)
Definition: pfs.cc:6899
void pfs_set_transaction_gtid_v1(PSI_transaction_locker *locker, const void *sid, const void *gtid_spec)
Definition: pfs.cc:6927
void pfs_set_transaction_xid_v1(PSI_transaction_locker *locker, const void *xid, int xa_state)
Definition: pfs.cc:6944
void pfs_inc_transaction_savepoints_v1(PSI_transaction_locker *locker, ulong count)
Definition: pfs.cc:7014
void pfs_inc_transaction_release_savepoint_v1(PSI_transaction_locker *locker, ulong count)
Definition: pfs.cc:7024

◆ rwlock_operation_map

enum_operation_type rwlock_operation_map[]
static
Initial value:
= {
@ OPERATION_TYPE_TRYSHAREDLOCK
Definition: pfs_column_types.h:116
@ OPERATION_TYPE_TRYWRITELOCK
Definition: pfs_column_types.h:109
@ OPERATION_TYPE_EXCLUSIVEUNLOCK
Definition: pfs_column_types.h:121
@ OPERATION_TYPE_SHAREDLOCK
Definition: pfs_column_types.h:113
@ OPERATION_TYPE_TRYREADLOCK
Definition: pfs_column_types.h:108
@ OPERATION_TYPE_UNLOCK
Definition: pfs_column_types.h:110
@ OPERATION_TYPE_READLOCK
Definition: pfs_column_types.h:106
@ OPERATION_TYPE_TRYEXCLUSIVELOCK
Definition: pfs_column_types.h:118
@ OPERATION_TYPE_TRYSHAREDEXCLUSIVELOCK
Definition: pfs_column_types.h:117
@ OPERATION_TYPE_SHAREDEXCLUSIVELOCK
Definition: pfs_column_types.h:114
@ OPERATION_TYPE_SHAREDEXCLUSIVEUNLOCK
Definition: pfs_column_types.h:120
@ OPERATION_TYPE_WRITELOCK
Definition: pfs_column_types.h:107
@ OPERATION_TYPE_SHAREDUNLOCK
Definition: pfs_column_types.h:119
@ OPERATION_TYPE_EXCLUSIVELOCK
Definition: pfs_column_types.h:115

Conversion map from PSI_rwlock_operation to enum_operation_type.

Indexed by enum PSI_rwlock_operation.

◆ SERVICE_IMPLEMENTATION

const mysql_service_psi_tls_channel_v1_t SERVICE_IMPLEMENTATION(performance_schema, psi_tls_channel_v1) ( performance_schema  ,
psi_system_v1   
)
Initial value:

◆ socket_operation_map

enum_operation_type socket_operation_map[]
static
Initial value:
= {
@ OPERATION_TYPE_SOCKETSHUTDOWN
Definition: pfs_column_types.h:178
@ OPERATION_TYPE_SOCKETSELECT
Definition: pfs_column_types.h:179
@ OPERATION_TYPE_SOCKETCONNECT
Definition: pfs_column_types.h:166
@ OPERATION_TYPE_SOCKETSTAT
Definition: pfs_column_types.h:177
@ OPERATION_TYPE_SOCKETCREATE
Definition: pfs_column_types.h:165
@ OPERATION_TYPE_SOCKETRECVFROM
Definition: pfs_column_types.h:172
@ OPERATION_TYPE_SOCKETRECV
Definition: pfs_column_types.h:170
@ OPERATION_TYPE_SOCKETSENDTO
Definition: pfs_column_types.h:171
@ OPERATION_TYPE_SOCKETOPT
Definition: pfs_column_types.h:176
@ OPERATION_TYPE_SOCKETSEND
Definition: pfs_column_types.h:169
@ OPERATION_TYPE_SOCKETSENDMSG
Definition: pfs_column_types.h:173
@ OPERATION_TYPE_SOCKETBIND
Definition: pfs_column_types.h:167
@ OPERATION_TYPE_SOCKETRECVMSG
Definition: pfs_column_types.h:174
@ OPERATION_TYPE_SOCKETCLOSE
Definition: pfs_column_types.h:168
@ OPERATION_TYPE_SOCKETSEEK
Definition: pfs_column_types.h:175

Conversion map from PSI_socket_operation to enum_operation_type.

Indexed by enum PSI_socket_operation.

◆ table_io_operation_map

enum_operation_type table_io_operation_map[]
static
Initial value:
= {
@ OPERATION_TYPE_TABLE_DELETE_ROW
Definition: pfs_column_types.h:150
@ OPERATION_TYPE_TABLE_UPDATE_ROW
Definition: pfs_column_types.h:149
@ OPERATION_TYPE_TABLE_FETCH
Definition: pfs_column_types.h:147
@ OPERATION_TYPE_TABLE_WRITE_ROW
Definition: pfs_column_types.h:148

Conversion map from PSI_table_operation to enum_operation_type.

Indexed by enum PSI_table_io_operation.

◆ table_lock_operation_map

enum_operation_type table_lock_operation_map[]
static
Initial value:
= {
}
@ OPERATION_TYPE_TL_WRITE_CONCURRENT_INSERT
Definition: pfs_column_types.h:158
@ OPERATION_TYPE_TL_READ_EXTERNAL
Definition: pfs_column_types.h:161
@ OPERATION_TYPE_TL_WRITE_LOW_PRIORITY
Definition: pfs_column_types.h:159
@ OPERATION_TYPE_TL_WRITE_EXTERNAL
Definition: pfs_column_types.h:162
@ OPERATION_TYPE_TL_WRITE_ALLOW_WRITE
Definition: pfs_column_types.h:157
@ OPERATION_TYPE_TL_READ_NO_INSERTS
Definition: pfs_column_types.h:156
@ OPERATION_TYPE_TL_READ_HIGH_PRIORITY
Definition: pfs_column_types.h:155
@ OPERATION_TYPE_TL_READ_WITH_SHARED_LOCKS
Definition: pfs_column_types.h:154
@ OPERATION_TYPE_TL_READ_NORMAL
Definition: pfs_column_types.h:153
@ OPERATION_TYPE_TL_WRITE_NORMAL
Definition: pfs_column_types.h:160

Conversion map from enum PFS_TL_LOCK_TYPE to enum_operation_type.

Indexed by enum PFS_TL_LOCK_TYPE.

◆ THR_PFS

thread_local PFS_thread* THR_PFS = nullptr

Performance schema Thread Local Storage.