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

#include <metadata_logger.h>

Inheritance diagram for mrs::database::MetadataLogger:
[legend]

Classes

struct  Options
 

Public Types

using LogLevel = mysql_harness::logging::LogLevel
 
- Public Types inherited from mrs::database::BufferedLogger
using LogRecord = mysql_harness::logging::Record
 
using LogRecordBuffer = std::queue< LogRecord >
 

Public Member Functions

void init (mysql_harness::logging::LogLevel log_level)
 
void deinit ()
 
void on_metadata_available (const mrs::database::MrsSchemaVersion &schema_ver, mysqlrouter::MySQLSession *session)
 
void on_metadata_version_change (const mrs::database::MrsSchemaVersion &schema_ver)
 
void start (const mrs::Configuration *configuration, collector::MysqlCacheManager *cache)
 
void stop ()
 
- Public Member Functions inherited from mrs::database::BufferedLogger
void log (const LogRecord &record)
 
virtual ~BufferedLogger ()
 

Static Public Member Functions

static MetadataLoggerinstance ()
 

Protected Member Functions

LogLevel get_log_level () const
 
size_t get_buffer_size () const override
 
std::chrono::seconds get_flush_interval () const override
 
- Protected Member Functions inherited from mrs::database::BufferedLogger
void start_flush_thread ()
 
void stop_flush_thread ()
 
void flush_thread_run ()
 

Private Member Functions

 MetadataLogger ()
 
bool flush_records (LogRecordBuffer &records) override
 
void reconfigure (const Options &config)
 
void report_dropped_logs (mysqlrouter::MySQLSession *session)
 
void check_dynamic_config (mysqlrouter::MySQLSession *session)
 
bool check_metadata_version_supported (const mrs::database::MrsSchemaVersion &schema_ver)
 
bool is_enabled () const
 

Private Attributes

LogLevel static_log_level_
 
Options logger_options_
 
std::shared_ptr< mysql_harness::logging::ExternalHandlerhandler_
 
collector::MysqlCacheManagercache_manager_
 
const mrs::Configurationconfiguration_
 
bool initialized_ {false}
 

Additional Inherited Members

- Protected Attributes inherited from mrs::database::BufferedLogger
LogRecordBuffer buffered_records_
 
std::mutex mtx_
 
std::condition_variable buffer_not_full_cv_
 
std::condition_variable flush_thread_cv_
 
std::thread flush_thread_
 
bool flush_thread_is_running_ {false}
 
uint64_t dropped_logs_ {0}
 

Member Typedef Documentation

◆ LogLevel

Constructor & Destructor Documentation

◆ MetadataLogger()

mrs::database::MetadataLogger::MetadataLogger ( )
private

Member Function Documentation

◆ check_dynamic_config()

void mrs::database::MetadataLogger::check_dynamic_config ( mysqlrouter::MySQLSession session)
private

◆ check_metadata_version_supported()

bool mrs::database::MetadataLogger::check_metadata_version_supported ( const mrs::database::MrsSchemaVersion schema_ver)
private

◆ deinit()

void mrs::database::MetadataLogger::deinit ( )

◆ flush_records()

bool mrs::database::MetadataLogger::flush_records ( LogRecordBuffer records)
overrideprivatevirtual

◆ get_buffer_size()

size_t mrs::database::MetadataLogger::get_buffer_size ( ) const
inlineoverrideprotectedvirtual

◆ get_flush_interval()

std::chrono::seconds mrs::database::MetadataLogger::get_flush_interval ( ) const
inlineoverrideprotectedvirtual

◆ get_log_level()

LogLevel mrs::database::MetadataLogger::get_log_level ( ) const
inlineprotected

◆ init()

void mrs::database::MetadataLogger::init ( mysql_harness::logging::LogLevel  log_level)

◆ instance()

static MetadataLogger & mrs::database::MetadataLogger::instance ( )
inlinestatic

◆ is_enabled()

bool mrs::database::MetadataLogger::is_enabled ( ) const
inlineprivate

◆ on_metadata_available()

void mrs::database::MetadataLogger::on_metadata_available ( const mrs::database::MrsSchemaVersion schema_ver,
mysqlrouter::MySQLSession session 
)

◆ on_metadata_version_change()

void mrs::database::MetadataLogger::on_metadata_version_change ( const mrs::database::MrsSchemaVersion schema_ver)

◆ reconfigure()

void mrs::database::MetadataLogger::reconfigure ( const Options config)
private

◆ report_dropped_logs()

void mrs::database::MetadataLogger::report_dropped_logs ( mysqlrouter::MySQLSession session)
private

◆ start()

void mrs::database::MetadataLogger::start ( const mrs::Configuration configuration,
collector::MysqlCacheManager cache 
)

◆ stop()

void mrs::database::MetadataLogger::stop ( )

Member Data Documentation

◆ cache_manager_

collector::MysqlCacheManager* mrs::database::MetadataLogger::cache_manager_
private

◆ configuration_

const mrs::Configuration* mrs::database::MetadataLogger::configuration_
private

◆ handler_

std::shared_ptr<mysql_harness::logging::ExternalHandler> mrs::database::MetadataLogger::handler_
private

◆ initialized_

bool mrs::database::MetadataLogger::initialized_ {false}
private

◆ logger_options_

Options mrs::database::MetadataLogger::logger_options_
private

◆ static_log_level_

LogLevel mrs::database::MetadataLogger::static_log_level_
private

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