MySQL 9.4.0
Source Code Documentation
mrs::database::SchemaMonitor Class Reference

#include <schema_monitor.h>

Classes

class  MetadataSourceDestination
 
class  Waitable
 

Public Member Functions

 SchemaMonitor (const mrs::Configuration &configuration, collector::MysqlCacheManager *cache, mrs::EndpointManager *dbobject_manager, authentication::AuthorizeManager *auth_manager, mrs::observability::EntitiesManager *entities_manager, mrs::GtidManager *gtid_manager, mrs::database::QueryFactoryProxy *query_factory, mrs::ResponseCache *response_cache, mrs::ResponseCache *file_cache, SlowQueryMonitor *slow_query_monitor, MetadataLogger *metadata_logger)
 
 ~SchemaMonitor ()
 
void start ()
 
void stop ()
 
void reset ()
 

Private Types

enum  State { k_initializing , k_running , k_stopped }
 

Private Member Functions

void run ()
 
bool wait_until_next_refresh ()
 
std::pair< std::string, std::string > get_router_name_and_address ()
 

Private Attributes

const mrs::Configuration configuration_
 
std::optional< std::string > router_name_
 
collector::MysqlCacheManagercache_
 
mrs::EndpointManagerdbobject_manager_
 
mrs::authentication::AuthorizeManagerauth_manager_
 
mrs::observability::EntitiesManagerentities_manager_
 
mrs::GtidManagergtid_manager_
 
WaitableVariable< Statestate_ {k_initializing}
 
Waitable waitable_ {this}
 
mrs::database::QueryFactoryProxyproxy_query_factory_
 
mrs::ResponseCacheresponse_cache_
 
mrs::ResponseCachefile_cache_
 
SlowQueryMonitorslow_query_monitor_
 
MetadataLoggermetadata_logger_
 
MetadataSourceDestination md_source_destination_
 

Member Enumeration Documentation

◆ State

Enumerator
k_initializing 
k_running 
k_stopped 

Constructor & Destructor Documentation

◆ SchemaMonitor()

mrs::database::SchemaMonitor::SchemaMonitor ( const mrs::Configuration configuration,
collector::MysqlCacheManager cache,
mrs::EndpointManager dbobject_manager,
authentication::AuthorizeManager auth_manager,
mrs::observability::EntitiesManager entities_manager,
mrs::GtidManager gtid_manager,
mrs::database::QueryFactoryProxy query_factory,
mrs::ResponseCache response_cache,
mrs::ResponseCache file_cache,
SlowQueryMonitor slow_query_monitor,
MetadataLogger metadata_logger 
)

◆ ~SchemaMonitor()

mrs::database::SchemaMonitor::~SchemaMonitor ( )

Member Function Documentation

◆ get_router_name_and_address()

std::pair< std::string, std::string > mrs::database::SchemaMonitor::get_router_name_and_address ( )
private

◆ reset()

void mrs::database::SchemaMonitor::reset ( )

◆ run()

void mrs::database::SchemaMonitor::run ( )
private

◆ start()

void mrs::database::SchemaMonitor::start ( )

◆ stop()

void mrs::database::SchemaMonitor::stop ( )

◆ wait_until_next_refresh()

bool mrs::database::SchemaMonitor::wait_until_next_refresh ( )
private

Member Data Documentation

◆ auth_manager_

mrs::authentication::AuthorizeManager* mrs::database::SchemaMonitor::auth_manager_
private

◆ cache_

collector::MysqlCacheManager* mrs::database::SchemaMonitor::cache_
private

◆ configuration_

const mrs::Configuration mrs::database::SchemaMonitor::configuration_
private

◆ dbobject_manager_

mrs::EndpointManager* mrs::database::SchemaMonitor::dbobject_manager_
private

◆ entities_manager_

mrs::observability::EntitiesManager* mrs::database::SchemaMonitor::entities_manager_
private

◆ file_cache_

mrs::ResponseCache* mrs::database::SchemaMonitor::file_cache_
private

◆ gtid_manager_

mrs::GtidManager* mrs::database::SchemaMonitor::gtid_manager_
private

◆ md_source_destination_

MetadataSourceDestination mrs::database::SchemaMonitor::md_source_destination_
private

◆ metadata_logger_

MetadataLogger* mrs::database::SchemaMonitor::metadata_logger_
private

◆ proxy_query_factory_

mrs::database::QueryFactoryProxy* mrs::database::SchemaMonitor::proxy_query_factory_
private

◆ response_cache_

mrs::ResponseCache* mrs::database::SchemaMonitor::response_cache_
private

◆ router_name_

std::optional<std::string> mrs::database::SchemaMonitor::router_name_
private

◆ slow_query_monitor_

SlowQueryMonitor* mrs::database::SchemaMonitor::slow_query_monitor_
private

◆ state_

WaitableVariable<State> mrs::database::SchemaMonitor::state_ {k_initializing}
private

◆ waitable_

Waitable mrs::database::SchemaMonitor::waitable_ {this}
private

The documentation for this class was generated from the following files: