39class Memory_Collector;
40class System_Collector;
42class Periodic_Reporter;
47class Triggered_Reporter;
101 [[nodiscard]]
const char *
name()
const {
return m_name.c_str(); }
Disk Collector.
Definition: health_monitor_disk.h:245
Definition: health_monitor_disk_forecaster.h:40
Own the objects used by one Health Monitor component instance.
Definition: health_monitor.h:57
int log_init()
Initialize the log manager.
Definition: health_monitor.cc:276
int supervisor_init()
Initialize the task supervisor.
Definition: health_monitor.cc:387
std::unique_ptr< Tables > m_tables
Definition: health_monitor.h:175
static Periodic_Reporter * periodic_reporter() noexcept
Definition: health_monitor.h:83
const char * sysvar_prefix() const
Definition: health_monitor.h:102
static Health_Monitor * m_instance
Definition: health_monitor.h:165
int option_usage_tracker_deinit()
Deregister option usage tracker.
Definition: health_monitor.cc:605
int status_vars_unregister()
Deregister all status variables.
Definition: health_monitor.cc:376
const std::string m_name
Definition: health_monitor.h:178
bool m_collectors_started
Definition: health_monitor.h:185
int system_vars_unregister()
Deregister all system variables.
Definition: health_monitor.cc:429
int log_deinit()
Deinitialize the log manager.
Definition: health_monitor.cc:289
static Supervisor * supervisor() noexcept
Definition: health_monitor.h:90
bool m_tables_initialized
Definition: health_monitor.h:186
bool m_tables_registered
Definition: health_monitor.h:187
void server_utils_deinit()
Deinitialize the server utility functions.
Definition: health_monitor.cc:578
bool initialized() const
Definition: health_monitor.h:109
const char * name() const
Definition: health_monitor.h:101
static Status_vars * status_vars() noexcept
Definition: health_monitor.h:87
bool m_status_vars_registered
Definition: health_monitor.h:182
void set_server_shutting_down(bool shutdown)
Notify all Collectors that the server is shutting down and to stop work immediately.
Definition: health_monitor.cc:726
bool m_collectors_initialized
Definition: health_monitor.h:184
std::unique_ptr< Disk_Forecaster > m_disk_forecaster
Definition: health_monitor.h:168
std::unique_ptr< Triggered_Reporter > m_memory_reporter
Definition: health_monitor.h:176
int tables_init()
Initialize the table manager.
Definition: health_monitor.cc:496
int tables_unregister()
Deregister all Health Monitor tables.
Definition: health_monitor.cc:533
int status_vars_init()
Initialize the status variable manager and initialize (but do not register) all status variables.
Definition: health_monitor.cc:338
int collectors_init()
Initialize the Health Monitor collectors.
Definition: health_monitor.cc:104
std::unique_ptr< Log > m_log
Definition: health_monitor.h:171
std::unique_ptr< Disk_Collector > m_disk_collector
Definition: health_monitor.h:167
void server_utils_init()
Initialize the server utility functions.
Definition: health_monitor.cc:565
static Triggered_Reporter * memory_reporter() noexcept
Definition: health_monitor.h:96
bool m_system_vars_registered
Definition: health_monitor.h:183
static mysql_service_status_t component_init()
Create the component owner before publishing any of its objects to callbacks.
Definition: health_monitor.cc:74
std::unique_ptr< Memory_Collector > m_memory_collector
Definition: health_monitor.h:169
int system_vars_init()
Initialize but do not register all system variables.
Definition: health_monitor.cc:410
int tables_deinit()
Deinitialize the table manager after all tables have been deregistered.
Definition: health_monitor.cc:509
static Tables * tables() noexcept
Definition: health_monitor.h:93
int collectors_start()
Start the Health Monitor collectors.
Definition: health_monitor.cc:159
int tables_register()
Register all Health Monitor tables in the Performance Schema.
Definition: health_monitor.cc:519
std::unique_ptr< System_Collector > m_system_collector
Definition: health_monitor.h:170
mysql_service_status_t initialize()
Health monitor initialization:
Definition: health_monitor.cc:625
int collectors_deinit()
Deinitialize the Health Monitor collectors.
Definition: health_monitor.cc:140
int reporters_deinit()
Deinitialize the reporters.
Definition: health_monitor.cc:324
static int system_vars_update()
Notify collectors of pending system variable updates.
Definition: health_monitor.cc:446
int system_vars_register()
Register all system variables.
Definition: health_monitor.cc:415
static Health_Monitor * instance() noexcept
Definition: health_monitor.h:62
int collectors_stop()
Shut down the collectors.
Definition: health_monitor.cc:247
static System_Collector * system_collector() noexcept
Definition: health_monitor.h:76
std::unique_ptr< Status_vars > m_status_vars
Definition: health_monitor.h:173
static std::atomic< bool > m_server_shutting_down
Definition: health_monitor.h:181
int status_vars_deinit()
Deinitialize the status variable manager after all status variables have been deregistered.
Definition: health_monitor.cc:352
const std::string m_sysvar_prefix
Definition: health_monitor.h:179
static Disk_Collector * disk_collector() noexcept
Definition: health_monitor.h:65
static std::atomic< bool > m_hm_initialized
Definition: health_monitor.h:180
int metrics_unregister()
Deregister metric sources exposed by the component.
Definition: health_monitor.cc:556
static Log * log() noexcept
Definition: health_monitor.h:80
mysql_service_status_t deinitialize()
Health monitor deinitialization.
Definition: health_monitor.cc:747
int status_vars_register()
Register all status variables.
Definition: health_monitor.cc:362
int option_usage_tracker_init()
Register option usage tracker.
Definition: health_monitor.cc:591
int reporters_init()
Initialize the report manager.
Definition: health_monitor.cc:299
static Disk_Forecaster * disk_forecaster() noexcept
Definition: health_monitor.h:68
std::unique_ptr< Supervisor > m_supervisor
Definition: health_monitor.h:174
std::unique_ptr< Periodic_Reporter > m_periodic_reporter
Definition: health_monitor.h:172
bool m_metrics_registered
Definition: health_monitor.h:188
static Memory_Collector * memory_collector() noexcept
Definition: health_monitor.h:72
int metrics_register()
Register metric sources exposed by the component.
Definition: health_monitor.cc:544
int supervisor_deinit()
Deinitialize the task supervisor.
Definition: health_monitor.cc:400
static mysql_service_status_t component_deinit()
Stop workers and unregister callbacks before destroying the component owner.
Definition: health_monitor.cc:92
static bool available() noexcept
The Health Monitor is available if it is initialized and the server is not shutting down.
Definition: health_monitor.cc:739
Definition: health_monitor_log.h:34
Memory Collector.
Definition: health_monitor_memory.h:110
The Periodic_Reporter has a framework for printing reports to some destination.
Definition: health_monitor_periodic_reporter.h:44
Definition: health_monitor_status_vars.h:48
Definition: health_monitor_supervisor.h:30
System Collector.
Definition: health_monitor_system.h:47
Table manager for all Health Monitor tables in the Performance Schema.
Definition: health_monitor_tables.h:35
The Triggered_Reporter overrides run_process to react only to signals.
Definition: health_monitor_triggered_reporter.h:36
Definition: component_command.h:29
MYSQL_STRINGS_EXPORT void shutdown()
Shutdown character set/collation library.
Definition: collations.cc:67
noexcept
The return type for any call_and_catch(f, args...) call where f(args...) returns Type.
Definition: call_and_catch.h:76
Define std::hash<Gtid>.
Definition: gtid.h:355
std::conditional_t< !std::is_array< T >::value, std::unique_ptr< T, detail::Deleter< T > >, std::conditional_t< detail::is_unbounded_array_v< T >, std::unique_ptr< T, detail::Array_deleter< std::remove_extent_t< T > > >, void > > unique_ptr
The following is a common type that is returned by all the ut::make_unique (non-aligned) specializati...
Definition: ut0new.h:2284
int mysql_service_status_t
Specific type for the service status return values.
Definition: service.h:34