24#ifndef RPL_OPT_TRACKER_H_
25#define RPL_OPT_TRACKER_H_
103 const std::string &fname,
104 unsigned long long &usage_counter);
Class to track the state and usage data of Replication features.
Definition: rpl_opt_tracker.h:37
static unsigned long long m_opt_option_tracker_usage_replication_replica
Definition: rpl_opt_tracker.h:143
my_thread_handle m_thread_id
Definition: rpl_opt_tracker.h:133
static bool cb_binlog_define_failed
Definition: rpl_opt_tracker.h:150
static unsigned long long m_opt_option_tracker_usage_binary_log
Definition: rpl_opt_tracker.h:142
static const std::string s_f_name_binary_log
Definition: rpl_opt_tracker.h:138
void stop_worker()
Stop the thread that periodically tracks the replication features.
Definition: rpl_opt_tracker.cc:231
static constexpr auto m_service_name
Definition: rpl_opt_tracker.h:79
void worker()
The thread worker that periodically tracks the replication features.
Definition: rpl_opt_tracker.cc:141
Rpl_opt_tracker & operator=(const Rpl_opt_tracker &info)
static const std::string s_c_name_mysql_server
Definition: rpl_opt_tracker.h:137
static const std::string s_f_name_replication_replica
Definition: rpl_opt_tracker.h:139
Rpl_opt_tracker(const Rpl_opt_tracker &info)
static bool is_replication_replica_enabled()
Helper method to get Replication Replica feature status.
Definition: rpl_opt_tracker.cc:98
void start_worker()
Start the thread that periodically tracks the replication features.
Definition: rpl_opt_tracker.cc:212
static bool cb_binlog(unsigned long long new_value)
Definition: rpl_opt_tracker.h:146
static constexpr const Timeout_type s_tracking_period
Definition: rpl_opt_tracker.h:135
static void track(const Tracker_service_guard &service_guard, bool enabled, const std::string &fname, unsigned long long &usage_counter)
Tracks a feature, including the usage data.
Definition: rpl_opt_tracker.cc:113
virtual ~Rpl_opt_tracker()
Definition: rpl_opt_tracker.cc:80
Rpl_opt_tracker(mysql_service_registry_registration_t *srv_registry_registration, mysql_service_registry_registration_t *srv_registry_registration_no_lock)
Definition: rpl_opt_tracker.cc:52
bool m_stop_worker
Definition: rpl_opt_tracker.h:134
mysql_service_registry_registration_t * m_srv_registry_registration_no_lock
Definition: rpl_opt_tracker.h:131
static bool cb_replica(unsigned long long new_value)
Definition: rpl_opt_tracker.h:151
void track_binary_log(const Tracker_service_guard &service_guard, bool enabled) const
Tracks the Binary Log feature, including the usage data.
Definition: rpl_opt_tracker.cc:124
static bool cb_replica_define_failed
Definition: rpl_opt_tracker.h:155
void track_replication_replica(bool enabled) const
Tracks the Replication Replica feature, including the usage data.
Definition: rpl_opt_tracker.cc:136
Wraps my_h_service struct conforming ABI into RAII C++ object with ability to cast to desired service...
Definition: my_service.h:35
Defines for getting and processing the current system type programmatically.
std::uint64_t Timeout_type
Type alias to reduce chance of conversion errors on timeout values.
Definition: my_systime.h:127
mysql_service_registry_registration_t * srv_registry_registration_no_lock
Definition: mysqld.cc:2026
mysql_service_registry_registration_t * srv_registry_registration
Definition: mysqld.cc:2023
Performance schema instrumentation interface.
required bool enabled
Definition: replication_group_member_actions.proto:33
Rpl_opt_tracker * rpl_opt_tracker
The rpl_opt_tracker singleton.
Definition: mysqld.cc:1853
#define SERVICE_TYPE(name)
Generates the standard Service type name.
Definition: service.h:76
#define SERVICE_TYPE_NO_CONST(name)
Generates the standard Service type name.
Definition: service.h:71
Definition: my_thread_bits.h:58
Option tracker registration and deregistration services.
Definition: mysql_option_tracker.h:45