MySQL 8.4.0
Source Code Documentation
gcs_psi.cc File Reference

Functions

void register_gcs_thread_psi_keys ()
 Registers the psi keys for the threads that will be instrumented. More...
 
void register_gcs_mutex_cond_psi_keys ()
 Registers the psi keys for the mutexes and conds that will be instrumented. More...
 
void register_xcom_memory_psi_keys ()
 Registers the psi keys for the memory operations that will be instrumented. More...
 
int psi_report_mem_alloc (size_t size)
 Reports to PSI the allocation of 'size' bytes of data. More...
 
void psi_report_mem_free (size_t size, int is_instrumented)
 Reports to PSI the deallocation of 'size' bytes of data. More...
 
void psi_report_cache_shutdown ()
 After the cache is de-initialized 'current_count' must be zero; otherwise we have allocated data that has not been deallocated (or has not been reported as deallocated). More...
 

Variables

PSI_thread_key key_GCS_THD_Gcs_ext_logger_impl_m_consumer
 
PSI_thread_key key_GCS_THD_Gcs_xcom_engine_m_engine_thread
 
PSI_thread_key key_GCS_THD_Gcs_xcom_control_m_xcom_thread
 
PSI_thread_key key_GCS_THD_Gcs_xcom_control_m_suspicions_processing_thread
 
PSI_thread_key key_GCS_THD_Gcs_xcom_network_provider_m_network_provider_tcp_server
 
static PSI_thread_info all_gcs_psi_thread_keys_info []
 
PSI_mutex_key key_GCS_MUTEX_Gcs_async_buffer_m_free_buffer_mutex
 
PSI_mutex_key key_GCS_MUTEX_Gcs_suspicions_manager_m_suspicions_mutex
 
PSI_mutex_key key_GCS_MUTEX_Gcs_suspicions_manager_m_suspicions_parameters_mutex
 
PSI_mutex_key key_GCS_MUTEX_Gcs_xcom_group_management_m_nodes_mutex
 
PSI_mutex_key key_GCS_MUTEX_Gcs_xcom_interface_m_wait_for_ssl_init_mutex
 
PSI_mutex_key key_GCS_MUTEX_Gcs_xcom_engine_m_wait_for_notification_mutex
 
PSI_mutex_key key_GCS_MUTEX_Gcs_xcom_view_change_control_m_wait_for_view_mutex
 
PSI_mutex_key key_GCS_MUTEX_Gcs_xcom_view_change_control_m_current_view_mutex
 
PSI_mutex_key key_GCS_MUTEX_Gcs_xcom_view_change_control_m_joining_leaving_mutex
 
PSI_mutex_key key_GCS_MUTEX_Gcs_xcom_proxy_impl_m_lock_xcom_ready
 
PSI_mutex_key key_GCS_MUTEX_Gcs_xcom_proxy_impl_m_lock_xcom_comms_status
 
PSI_mutex_key key_GCS_MUTEX_Gcs_xcom_proxy_impl_m_lock_xcom_exit
 
PSI_cond_key key_GCS_COND_Gcs_async_buffer_m_wait_for_events_cond
 
PSI_cond_key key_GCS_COND_Gcs_async_buffer_m_free_buffer_cond
 
PSI_cond_key key_GCS_COND_Gcs_xcom_interface_m_wait_for_ssl_init_cond
 
PSI_cond_key key_GCS_COND_Gcs_xcom_engine_m_wait_for_notification_cond
 
PSI_cond_key key_GCS_COND_Gcs_xcom_view_change_control_m_wait_for_view_cond
 
PSI_cond_key key_GCS_COND_Gcs_xcom_proxy_impl_m_cond_xcom_ready
 
PSI_cond_key key_GCS_COND_Gcs_xcom_proxy_impl_m_cond_xcom_comms_status
 
PSI_cond_key key_GCS_COND_Gcs_xcom_proxy_impl_m_cond_xcom_exit
 
PSI_cond_key key_GCS_COND_Gcs_suspicions_manager_m_suspicions_cond
 
static PSI_mutex_info all_gcs_psi_mutex_keys_info []
 
static PSI_cond_info all_gcs_psi_cond_keys_info []
 
PSI_memory_key key_MEM_XCOM_xcom_cache
 
PSI_memory_key key_MEM_Gcs_message_data_m_buffer
 
static PSI_memory_info xcom_cache_memory_info []
 
static uint64_t current_count = 0
 

Function Documentation

◆ psi_report_cache_shutdown()

void psi_report_cache_shutdown ( )

After the cache is de-initialized 'current_count' must be zero; otherwise we have allocated data that has not been deallocated (or has not been reported as deallocated).

◆ psi_report_mem_alloc()

int psi_report_mem_alloc ( size_t  size)

Reports to PSI the allocation of 'size' bytes of data.

◆ psi_report_mem_free()

void psi_report_mem_free ( size_t  size,
int  is_instrumented 
)

Reports to PSI the deallocation of 'size' bytes of data.

◆ register_gcs_mutex_cond_psi_keys()

void register_gcs_mutex_cond_psi_keys ( )

Registers the psi keys for the mutexes and conds that will be instrumented.

◆ register_gcs_thread_psi_keys()

void register_gcs_thread_psi_keys ( )

Registers the psi keys for the threads that will be instrumented.

◆ register_xcom_memory_psi_keys()

void register_xcom_memory_psi_keys ( )

Registers the psi keys for the memory operations that will be instrumented.

Variable Documentation

◆ all_gcs_psi_cond_keys_info

PSI_cond_info all_gcs_psi_cond_keys_info[]
static
Initial value:
= {
"GCS_Gcs_async_buffer::m_wait_for_events_cond", PSI_FLAG_SINGLETON, 0,
"GCS_Gcs_async_buffer::m_free_buffer_cond", PSI_FLAG_SINGLETON, 0,
"GCS_Gcs_xcom_interface::m_wait_for_ssl_init_cond", PSI_FLAG_SINGLETON, 0,
"GCS_Gcs_xcom_engine::m_wait_for_notification_cond", PSI_FLAG_SINGLETON, 0,
"GCS_Gcs_xcom_view_change_control::m_wait_for_view_cond",
"GCS_Gcs_xcom_proxy_impl::m_cond_xcom_ready", PSI_FLAG_SINGLETON, 0,
"GCS_Gcs_xcom_proxy_impl::m_cond_xcom_comms_status", PSI_FLAG_SINGLETON, 0,
"GCS_Gcs_xcom_proxy_impl::m_cond_xcom_exit", PSI_FLAG_SINGLETON, 0,
"GCS_Gcs_suspicions_manager::m_suspicions_cond", PSI_FLAG_SINGLETON, 0,
#define PSI_DOCUMENT_ME
Definition: component_common.h:29
#define PSI_FLAG_SINGLETON
Singleton flag.
Definition: component_common.h:35
PSI_cond_key key_GCS_COND_Gcs_suspicions_manager_m_suspicions_cond
Definition: gcs_psi.cc:75
PSI_cond_key key_GCS_COND_Gcs_xcom_proxy_impl_m_cond_xcom_exit
Definition: gcs_psi.cc:74
PSI_cond_key key_GCS_COND_Gcs_xcom_view_change_control_m_wait_for_view_cond
Definition: gcs_psi.cc:71
PSI_cond_key key_GCS_COND_Gcs_xcom_interface_m_wait_for_ssl_init_cond
Definition: gcs_psi.cc:69
PSI_cond_key key_GCS_COND_Gcs_xcom_proxy_impl_m_cond_xcom_comms_status
Definition: gcs_psi.cc:73
PSI_cond_key key_GCS_COND_Gcs_xcom_proxy_impl_m_cond_xcom_ready
Definition: gcs_psi.cc:72
PSI_cond_key key_GCS_COND_Gcs_xcom_engine_m_wait_for_notification_cond
Definition: gcs_psi.cc:70
PSI_cond_key key_GCS_COND_Gcs_async_buffer_m_wait_for_events_cond
Definition: gcs_psi.cc:67
PSI_cond_key key_GCS_COND_Gcs_async_buffer_m_free_buffer_cond
Definition: gcs_psi.cc:68

◆ all_gcs_psi_mutex_keys_info

PSI_mutex_info all_gcs_psi_mutex_keys_info[]
static

◆ all_gcs_psi_thread_keys_info

PSI_thread_info all_gcs_psi_thread_keys_info[]
static
Initial value:
= {
"THD_Gcs_ext_logger_impl::m_consumer", "gcs_ext_log", PSI_FLAG_SINGLETON,
"THD_Gcs_xcom_engine::m_engine_thread", "gcs_engine", PSI_FLAG_SINGLETON,
"THD_Gcs_xcom_control::m_xcom_thread", "gcs_xcom", PSI_FLAG_SINGLETON, 0,
"THD_Gcs_xcom_control::m_suspicions_processing_thread", "gcs_suspect",
"THD_Gcs_xcom_network_provider::m_network_provider_tcp_server",
"gcs_xcom_comm", PSI_FLAG_SINGLETON, 0, PSI_DOCUMENT_ME}}
PSI_thread_key key_GCS_THD_Gcs_ext_logger_impl_m_consumer
Definition: gcs_psi.cc:31
PSI_thread_key key_GCS_THD_Gcs_xcom_engine_m_engine_thread
Definition: gcs_psi.cc:32
PSI_thread_key key_GCS_THD_Gcs_xcom_network_provider_m_network_provider_tcp_server
Definition: gcs_psi.cc:35
PSI_thread_key key_GCS_THD_Gcs_xcom_control_m_xcom_thread
Definition: gcs_psi.cc:33
PSI_thread_key key_GCS_THD_Gcs_xcom_control_m_suspicions_processing_thread
Definition: gcs_psi.cc:34

◆ current_count

uint64_t current_count = 0
static

◆ key_GCS_COND_Gcs_async_buffer_m_free_buffer_cond

PSI_cond_key key_GCS_COND_Gcs_async_buffer_m_free_buffer_cond

◆ key_GCS_COND_Gcs_async_buffer_m_wait_for_events_cond

PSI_cond_key key_GCS_COND_Gcs_async_buffer_m_wait_for_events_cond

◆ key_GCS_COND_Gcs_suspicions_manager_m_suspicions_cond

PSI_cond_key key_GCS_COND_Gcs_suspicions_manager_m_suspicions_cond

◆ key_GCS_COND_Gcs_xcom_engine_m_wait_for_notification_cond

PSI_cond_key key_GCS_COND_Gcs_xcom_engine_m_wait_for_notification_cond

◆ key_GCS_COND_Gcs_xcom_interface_m_wait_for_ssl_init_cond

PSI_cond_key key_GCS_COND_Gcs_xcom_interface_m_wait_for_ssl_init_cond

◆ key_GCS_COND_Gcs_xcom_proxy_impl_m_cond_xcom_comms_status

PSI_cond_key key_GCS_COND_Gcs_xcom_proxy_impl_m_cond_xcom_comms_status

◆ key_GCS_COND_Gcs_xcom_proxy_impl_m_cond_xcom_exit

PSI_cond_key key_GCS_COND_Gcs_xcom_proxy_impl_m_cond_xcom_exit

◆ key_GCS_COND_Gcs_xcom_proxy_impl_m_cond_xcom_ready

PSI_cond_key key_GCS_COND_Gcs_xcom_proxy_impl_m_cond_xcom_ready

◆ key_GCS_COND_Gcs_xcom_view_change_control_m_wait_for_view_cond

PSI_cond_key key_GCS_COND_Gcs_xcom_view_change_control_m_wait_for_view_cond

◆ key_GCS_MUTEX_Gcs_async_buffer_m_free_buffer_mutex

PSI_mutex_key key_GCS_MUTEX_Gcs_async_buffer_m_free_buffer_mutex

◆ key_GCS_MUTEX_Gcs_suspicions_manager_m_suspicions_mutex

PSI_mutex_key key_GCS_MUTEX_Gcs_suspicions_manager_m_suspicions_mutex

◆ key_GCS_MUTEX_Gcs_suspicions_manager_m_suspicions_parameters_mutex

PSI_mutex_key key_GCS_MUTEX_Gcs_suspicions_manager_m_suspicions_parameters_mutex

◆ key_GCS_MUTEX_Gcs_xcom_engine_m_wait_for_notification_mutex

PSI_mutex_key key_GCS_MUTEX_Gcs_xcom_engine_m_wait_for_notification_mutex

◆ key_GCS_MUTEX_Gcs_xcom_group_management_m_nodes_mutex

PSI_mutex_key key_GCS_MUTEX_Gcs_xcom_group_management_m_nodes_mutex

◆ key_GCS_MUTEX_Gcs_xcom_interface_m_wait_for_ssl_init_mutex

PSI_mutex_key key_GCS_MUTEX_Gcs_xcom_interface_m_wait_for_ssl_init_mutex

◆ key_GCS_MUTEX_Gcs_xcom_proxy_impl_m_lock_xcom_comms_status

PSI_mutex_key key_GCS_MUTEX_Gcs_xcom_proxy_impl_m_lock_xcom_comms_status

◆ key_GCS_MUTEX_Gcs_xcom_proxy_impl_m_lock_xcom_exit

PSI_mutex_key key_GCS_MUTEX_Gcs_xcom_proxy_impl_m_lock_xcom_exit

◆ key_GCS_MUTEX_Gcs_xcom_proxy_impl_m_lock_xcom_ready

PSI_mutex_key key_GCS_MUTEX_Gcs_xcom_proxy_impl_m_lock_xcom_ready

◆ key_GCS_MUTEX_Gcs_xcom_view_change_control_m_current_view_mutex

PSI_mutex_key key_GCS_MUTEX_Gcs_xcom_view_change_control_m_current_view_mutex

◆ key_GCS_MUTEX_Gcs_xcom_view_change_control_m_joining_leaving_mutex

PSI_mutex_key key_GCS_MUTEX_Gcs_xcom_view_change_control_m_joining_leaving_mutex

◆ key_GCS_MUTEX_Gcs_xcom_view_change_control_m_wait_for_view_mutex

PSI_mutex_key key_GCS_MUTEX_Gcs_xcom_view_change_control_m_wait_for_view_mutex

◆ key_GCS_THD_Gcs_ext_logger_impl_m_consumer

PSI_thread_key key_GCS_THD_Gcs_ext_logger_impl_m_consumer

◆ key_GCS_THD_Gcs_xcom_control_m_suspicions_processing_thread

PSI_thread_key key_GCS_THD_Gcs_xcom_control_m_suspicions_processing_thread

◆ key_GCS_THD_Gcs_xcom_control_m_xcom_thread

PSI_thread_key key_GCS_THD_Gcs_xcom_control_m_xcom_thread

◆ key_GCS_THD_Gcs_xcom_engine_m_engine_thread

PSI_thread_key key_GCS_THD_Gcs_xcom_engine_m_engine_thread

◆ key_GCS_THD_Gcs_xcom_network_provider_m_network_provider_tcp_server

PSI_thread_key key_GCS_THD_Gcs_xcom_network_provider_m_network_provider_tcp_server

◆ key_MEM_Gcs_message_data_m_buffer

PSI_memory_key key_MEM_Gcs_message_data_m_buffer

◆ key_MEM_XCOM_xcom_cache

PSI_memory_key key_MEM_XCOM_xcom_cache

◆ xcom_cache_memory_info

PSI_memory_info xcom_cache_memory_info[]
static
Initial value:
= {
{&key_MEM_XCOM_xcom_cache, "GCS_XCom::xcom_cache",
"Memory usage statistics for the XCom cache."},
{&key_MEM_Gcs_message_data_m_buffer, "Gcs_message_data::m_buffer",
"Memory used for the transaction data payload which is send to the "
"network."}}
PSI_memory_key key_MEM_Gcs_message_data_m_buffer
Definition: gcs_psi.cc:144
PSI_memory_key key_MEM_XCOM_xcom_cache
Definition: gcs_psi.cc:144
#define PSI_FLAG_MEM_COLLECT
Enable collecting the memory consumed by threads.
Definition: psi_bits.h:141
#define PSI_VOLATILITY_UNKNOWN
Definition: psi_bits.h:153
#define PSI_FLAG_ONLY_GLOBAL_STAT
Global stat only flag.
Definition: psi_bits.h:112