MySQL 9.1.0
Source Code Documentation
|
Private interface for the server (implementation). More...
#include "storage/perfschema/pfs_server.h"
#include "my_dbug.h"
#include "my_inttypes.h"
#include "my_macros.h"
#include "my_sys.h"
#include "mysql/strings/m_ctype.h"
#include "mysys_err.h"
#include "sql/mysqld.h"
#include "storage/perfschema/mysql_server_telemetry_logs_client_service_imp.h"
#include "storage/perfschema/mysql_server_telemetry_logs_service_imp.h"
#include "storage/perfschema/mysql_server_telemetry_metrics_service_imp.h"
#include "storage/perfschema/mysql_server_telemetry_traces_service_imp.h"
#include "storage/perfschema/pfs.h"
#include "storage/perfschema/pfs_account.h"
#include "storage/perfschema/pfs_builtin_memory.h"
#include "storage/perfschema/pfs_defaults.h"
#include "storage/perfschema/pfs_digest.h"
#include "storage/perfschema/pfs_engine_table.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_metrics_service_imp.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_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 "template_utils.h"
Functions | |
static void | cleanup_performance_schema () |
void | cleanup_instrument_config () |
Deallocate the PFS_INSTRUMENT array. More... | |
void | cleanup_meter_config () |
Deallocate the PFS_METER array. More... | |
void | cleanup_logger_config () |
Deallocate the PFS_LOGGER array. More... | |
void | pre_initialize_performance_schema () |
Null initialization. More... | |
int | initialize_performance_schema (PFS_global_param *param, PSI_thread_bootstrap **thread_bootstrap, PSI_mutex_bootstrap **mutex_bootstrap, PSI_rwlock_bootstrap **rwlock_bootstrap, PSI_cond_bootstrap **cond_bootstrap, PSI_file_bootstrap **file_bootstrap, PSI_socket_bootstrap **socket_bootstrap, PSI_table_bootstrap **table_bootstrap, PSI_mdl_bootstrap **mdl_bootstrap, PSI_idle_bootstrap **idle_bootstrap, PSI_stage_bootstrap **stage_bootstrap, PSI_statement_bootstrap **statement_bootstrap, PSI_transaction_bootstrap **transaction_bootstrap, PSI_memory_bootstrap **memory_bootstrap, PSI_error_bootstrap **error_bootstrap, PSI_data_lock_bootstrap **data_lock_bootstrap, PSI_system_bootstrap **system_bootstrap, PSI_tls_channel_bootstrap **tls_channel_bootstrap, PSI_metric_bootstrap **metric_bootstrap, PSI_logs_client_bootstrap **logs_client_bootstrap) |
Initialize the performance schema. More... | |
void | shutdown_performance_schema () |
Shutdown the performance schema. More... | |
void | init_pfs_instrument_array () |
Initialize the dynamic array used to hold PFS_INSTRUMENT configuration options. More... | |
int | add_pfs_instr_to_array (const char *name, const char *value) |
Process one performance_schema_instrument configuration string. More... | |
void | init_pfs_meter_array () |
Initialize the dynamic array used to hold PFS_METER configuration options. More... | |
void | init_pfs_logger_array () |
Initialize the dynamic array used to hold PFS_LOGGER configuration options. More... | |
int | add_pfs_meter_to_array (const char *name, const char *value) |
Process one performance_schema_meter configuration string. More... | |
int | add_pfs_logger_to_array (const char *name, const char *value) |
Process one performance_schema_logger configuration string. More... | |
Variables | |
PFS_global_param | pfs_param |
Performance schema sizing values for the server. More... | |
Private interface for the server (implementation).
int add_pfs_instr_to_array | ( | const char * | name, |
const char * | value | ||
) |
Process one performance_schema_instrument configuration string.
Process one PFS_INSTRUMENT configuration string.
Isolate the instrument name, evaluate the option value, and store them in a dynamic array. Return 'false' for success, 'true' for error.
name | Instrument name |
value | Configuration option: 'on', 'off', etc. |
int add_pfs_logger_to_array | ( | const char * | name, |
const char * | value | ||
) |
Process one performance_schema_logger configuration string.
Process one PFS_LOGGER configuration string.
Isolate the instrument name, evaluate the option values, and store them in a dynamic array. Return 'false' for success, 'true' for error.
name | Instrument name |
value | Configuration option: 'level:INFO', 'level:NONE', etc. |
int add_pfs_meter_to_array | ( | const char * | name, |
const char * | value | ||
) |
Process one performance_schema_meter configuration string.
Process one PFS_METER configuration string.
Isolate the instrument name, evaluate the option values, and store them in a dynamic array. Return 'false' for success, 'true' for error.
name | Instrument name |
value | Configuration option: 'enabled:ON,frequency:30', 'enabled:OFF', etc. |
void cleanup_instrument_config | ( | ) |
Deallocate the PFS_INSTRUMENT array.
void cleanup_logger_config | ( | ) |
Deallocate the PFS_LOGGER array.
void cleanup_meter_config | ( | ) |
Deallocate the PFS_METER array.
|
static |
void init_pfs_instrument_array | ( | ) |
Initialize the dynamic array used to hold PFS_INSTRUMENT configuration options.
Initialize the dynamic array holding individual instrument settings collected from the server configuration options.
void init_pfs_logger_array | ( | ) |
Initialize the dynamic array used to hold PFS_LOGGER configuration options.
Initialize the dynamic array holding individual logger instrument settings collected from the server configuration options.
void init_pfs_meter_array | ( | ) |
Initialize the dynamic array used to hold PFS_METER configuration options.
Initialize the dynamic array holding individual meter instrument settings collected from the server configuration options.
int initialize_performance_schema | ( | PFS_global_param * | param, |
PSI_thread_bootstrap ** | thread_bootstrap, | ||
PSI_mutex_bootstrap ** | mutex_bootstrap, | ||
PSI_rwlock_bootstrap ** | rwlock_bootstrap, | ||
PSI_cond_bootstrap ** | cond_bootstrap, | ||
PSI_file_bootstrap ** | file_bootstrap, | ||
PSI_socket_bootstrap ** | socket_bootstrap, | ||
PSI_table_bootstrap ** | table_bootstrap, | ||
PSI_mdl_bootstrap ** | mdl_bootstrap, | ||
PSI_idle_bootstrap ** | idle_bootstrap, | ||
PSI_stage_bootstrap ** | stage_bootstrap, | ||
PSI_statement_bootstrap ** | statement_bootstrap, | ||
PSI_transaction_bootstrap ** | transaction_bootstrap, | ||
PSI_memory_bootstrap ** | memory_bootstrap, | ||
PSI_error_bootstrap ** | error_bootstrap, | ||
PSI_data_lock_bootstrap ** | data_lock_bootstrap, | ||
PSI_system_bootstrap ** | system_bootstrap, | ||
PSI_tls_channel_bootstrap ** | tls_channel_bootstrap, | ||
PSI_metric_bootstrap ** | metric_bootstrap, | ||
PSI_logs_client_bootstrap ** | logs_client_bootstrap | ||
) |
Initialize the performance schema.
The performance schema implement several instrumentation services. Each instrumentation service is versioned, and accessible through a bootstrap structure, returned as output parameter.
param | Size parameters to use. | |
[out] | thread_bootstrap | Thread instrumentation service bootstrap |
[out] | mutex_bootstrap | Mutex instrumentation service bootstrap |
[out] | rwlock_bootstrap | Rwlock instrumentation service bootstrap |
[out] | cond_bootstrap | Condition instrumentation service bootstrap |
[out] | file_bootstrap | File instrumentation service bootstrap |
[out] | socket_bootstrap | Socket instrumentation service bootstrap |
[out] | table_bootstrap | Table instrumentation service bootstrap |
[out] | mdl_bootstrap | Metadata Lock instrumentation service bootstrap |
[out] | idle_bootstrap | Idle instrumentation service bootstrap |
[out] | stage_bootstrap | Stage instrumentation service bootstrap |
[out] | statement_bootstrap | Statement instrumentation service bootstrap |
[out] | transaction_bootstrap | Transaction instrumentation service bootstrap |
[out] | memory_bootstrap | Memory instrumentation service bootstrap |
[out] | error_bootstrap | Error instrumentation service bootstrap |
[out] | data_lock_bootstrap | Data Lock instrumentation service bootstrap |
[out] | system_bootstrap | System instrumentation service bootstrap |
[out] | tls_channel_bootstrap | TLS channel instrumentation service bootstrap |
[out] | metric_bootstrap | Telemetry metrics instrumentation service bootstrap |
[out] | logs_client_bootstrap | Telemetry logs client instrumentation service bootstrap |
0 | success |
Default values for SETUP_CONSUMERS
void pre_initialize_performance_schema | ( | ) |
Null initialization.
Disable all instrumentation, size all internal buffers to 0. This pre initialization step is needed to ensure that events can be collected and discarded, until such time initialize_performance_schema()
is called.
void shutdown_performance_schema | ( | ) |
Shutdown the performance schema.
PFS_global_param pfs_param |
Performance schema sizing values for the server.
This global variable is set when parsing server startup options.