![]() |
MySQL 9.4.0
Source Code Documentation
|
#include <metadata_logger.h>
Classes | |
struct | Options |
Public Types | |
using | LogLevel = mysql_harness::logging::LogLevel |
![]() | |
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 () |
![]() | |
void | log (const LogRecord &record) |
virtual | ~BufferedLogger () |
Static Public Member Functions | |
static MetadataLogger & | instance () |
Protected Member Functions | |
LogLevel | get_log_level () const |
size_t | get_buffer_size () const override |
std::chrono::seconds | get_flush_interval () const override |
![]() | |
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::ExternalHandler > | handler_ |
collector::MysqlCacheManager * | cache_manager_ |
const mrs::Configuration * | configuration_ |
bool | initialized_ {false} |
Additional Inherited Members | |
![]() | |
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} |
|
private |
|
private |
|
private |
void mrs::database::MetadataLogger::deinit | ( | ) |
|
overrideprivatevirtual |
Implements mrs::database::BufferedLogger.
|
inlineoverrideprotectedvirtual |
Implements mrs::database::BufferedLogger.
|
inlineoverrideprotectedvirtual |
Implements mrs::database::BufferedLogger.
|
inlineprotected |
void mrs::database::MetadataLogger::init | ( | mysql_harness::logging::LogLevel | log_level | ) |
|
inlinestatic |
|
inlineprivate |
void mrs::database::MetadataLogger::on_metadata_available | ( | const mrs::database::MrsSchemaVersion & | schema_ver, |
mysqlrouter::MySQLSession * | session | ||
) |
void mrs::database::MetadataLogger::on_metadata_version_change | ( | const mrs::database::MrsSchemaVersion & | schema_ver | ) |
|
private |
|
private |
void mrs::database::MetadataLogger::start | ( | const mrs::Configuration * | configuration, |
collector::MysqlCacheManager * | cache | ||
) |
void mrs::database::MetadataLogger::stop | ( | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |