MySQL 9.1.0
Source Code Documentation
|
This class contains metrics related to event and transaction scheduling activities in the replica MTA. More...
#include <applier_metrics.h>
Public Member Functions | |
void | start_applier_timer () override |
Starts the timer when the applier metrics collection began. More... | |
void | stop_applier_timer () override |
Calculates the total time the applier ran. More... | |
int64_t | get_last_applier_start_micros () const override |
Gets the time point when the metric timer started. More... | |
int64_t | get_total_execution_time () const override |
Returns the total time the applier was running. More... | |
void | inc_transactions_committed_count (int64_t amount) override |
increment the number of transactions committed. More... | |
int64_t | get_transactions_committed_count () const override |
Gets the number of transactions committed. More... | |
void | inc_transactions_received_count (int64_t amount) override |
increment the number of transactions pending. More... | |
int64_t | get_transactions_received_count () const override |
Gets the number of transactions pending. More... | |
void | inc_transactions_committed_size_sum (int64_t amount) override |
increment the size of transactions committed. More... | |
int64_t | get_transactions_committed_size_sum () const override |
Gets the total sum of the size of committed transactions. More... | |
void | inc_transactions_received_size_sum (int64_t amount) override |
increment the pending size of queued transactions. More... | |
int64_t | get_transactions_received_size_sum () const override |
Gets the pending size sum of queued transactions. More... | |
void | inc_events_committed_count (int64_t delta) override |
increment the number of events scheduled by a given amount. More... | |
int64_t | get_events_committed_count () const override |
Gets the number of events scheduled. More... | |
void | reset () override |
Resets the statistics to zero. More... | |
void | set_metrics_breakpoint (const char *relay_log_filename) override |
Set the metrics breakpoint, if it has not already been set. More... | |
bool | is_after_metrics_breakpoint () const override |
void | check_metrics_breakpoint (const char *relay_log_filename) override |
If we are before the metrics breakpoint, and the metrics breakpoint is equal to the given filename, remember that we are now after the metrics breakpoint. More... | |
Time_based_metric_interface & | get_work_from_source_wait_metric () override |
Returns time metrics for waits on work from the source. More... | |
Time_based_metric_interface & | get_workers_available_wait_metric () override |
Returns time metrics for waits on available workers. More... | |
Time_based_metric_interface & | get_transaction_dependency_wait_metric () override |
Returns time metrics for waits on transaction dependecies on workers. More... | |
Time_based_metric_interface & | get_worker_queues_memory_exceeds_max_wait_metric () override |
Returns time metrics for waits when a worker queue exceeds max memory. More... | |
Time_based_metric_interface & | get_worker_queues_full_wait_metric () override |
Returns time metrics for waits when the worker queues are full. More... | |
Time_based_metric_interface & | get_time_to_read_from_relay_log_metric () override |
Returns time metrics for relay log read wait times. More... | |
void | inc_commit_order_wait_stored_metrics (int64_t count, int64_t time) override |
Increments the stored values for the commit order metrics. More... | |
int64_t | get_number_of_waits_on_commit_order () const override |
Gets the stored number of times we waited on committed order. More... | |
int64_t | get_wait_time_on_commit_order () const override |
Gets the stored summed time waited on commit order. More... | |
Public Member Functions inherited from cs::apply::instruments::Applier_metrics_interface | |
virtual | ~Applier_metrics_interface ()=default |
Private Types | |
enum class | Metrics_breakpoint_state { unset , before , after } |
State of the metrics breakpoint. More... | |
Private Attributes | |
std::atomic< int64_t > | m_last_applier_start_micros {} |
stats collection start timestamp More... | |
Time_based_metric | m_sum_applier_execution_time |
total applier execution time More... | |
std::atomic_int64_t | m_transactions_committed {0} |
Holds the counter of transactions committed. More... | |
std::atomic_int64_t | m_transactions_received_count {0} |
Holds the counter of transactions currently pending. More... | |
std::string | m_first_received_relay_log |
The first (oldest) relay log that the receiver wrote to after metric collection was enabled. More... | |
std::atomic< Metrics_breakpoint_state > | m_metrics_breakpoint_state |
True if the receiver has initialized m_first_received_relay_log. More... | |
std::atomic_int64_t | m_transactions_committed_size_sum {0} |
Holds the total size of transactions committed till now. More... | |
std::atomic_int64_t | m_transactions_received_size_sum {0} |
Holds the executed event's size of transactions now ongoing. More... | |
std::atomic_int64_t | m_events_committed_count {0} |
Holds the counter of events scheduled. More... | |
Time_based_metric | m_wait_for_work_from_source {true} |
Tracks the number and time waited for transactions to apply. More... | |
Time_based_metric | m_wait_for_worker_available |
Tracks the number and time waited for transactions to apply. More... | |
Time_based_metric | m_wait_for_transaction_dependency |
Tracks the number and time waited for transaction dependencies. More... | |
Time_based_metric | m_wait_due_to_worker_queues_memory_exceeds_max |
Tracks the number and time waited for transaction dependencies. More... | |
Time_based_metric | m_wait_due_to_worker_queue_full |
Tracks the number and time waited for transaction dependencies. More... | |
Time_based_metric | m_time_to_read_from_relay_log |
Tracks the number and time waited for transaction dependencies. More... | |
std::atomic_int64_t | m_order_commit_wait_count {0} |
The stored number of time waited for commit order. More... | |
std::atomic_int64_t | m_order_commit_waited_time {0} |
The stored total amount of time waited for commit order. More... | |
This class contains metrics related to event and transaction scheduling activities in the replica MTA.
|
strongprivate |
|
overridevirtual |
If we are before the metrics breakpoint, and the metrics breakpoint is equal to the given filename, remember that we are now after the metrics breakpoint.
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
Gets the number of events scheduled.
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
Gets the time point when the metric timer started.
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
Gets the stored number of times we waited on committed order.
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
Returns time metrics for relay log read wait times.
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
Returns the total time the applier was running.
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
Returns time metrics for waits on transaction dependecies on workers.
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
Gets the number of transactions committed.
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
Gets the total sum of the size of committed transactions.
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
Gets the number of transactions pending.
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
Gets the pending size sum of queued transactions.
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
Gets the stored summed time waited on commit order.
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
Returns time metrics for waits on work from the source.
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
Returns time metrics for waits when the worker queues are full.
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
Returns time metrics for waits when a worker queue exceeds max memory.
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
Returns time metrics for waits on available workers.
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
Increments the stored values for the commit order metrics.
count | The count for commit order waits |
time | The time waited on commit order |
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
increment the number of events scheduled by a given amount.
delta | the amount of events to increment. |
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
increment the number of transactions committed.
amount | the amount of transactions to increment. |
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
increment the size of transactions committed.
amount | the size amount to increment. |
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
increment the number of transactions pending.
amount | the amount of transactions to increment. |
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
increment the pending size of queued transactions.
amount | the size amount to increment. |
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
Resets the statistics to zero.
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
Set the metrics breakpoint, if it has not already been set.
relay_log_filename | relay log name |
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
Starts the timer when the applier metrics collection began.
Sets the state to running. This can be queried later to know for how long time the stats have been collected, i.e., the duration.
Implements cs::apply::instruments::Applier_metrics_interface.
|
overridevirtual |
Calculates the total time the applier ran.
Sets the state to not running Sums to time since start to the total running time
Implements cs::apply::instruments::Applier_metrics_interface.
|
private |
Holds the counter of events scheduled.
|
private |
The first (oldest) relay log that the receiver wrote to after metric collection was enabled.
|
private |
stats collection start timestamp
|
private |
True if the receiver has initialized m_first_received_relay_log.
|
private |
The stored number of time waited for commit order.
|
private |
The stored total amount of time waited for commit order.
|
private |
total applier execution time
|
private |
Tracks the number and time waited for transaction dependencies.
|
private |
Holds the counter of transactions committed.
|
private |
Holds the total size of transactions committed till now.
|
private |
Holds the counter of transactions currently pending.
|
private |
Holds the executed event's size of transactions now ongoing.
|
private |
Tracks the number and time waited for transaction dependencies.
|
private |
Tracks the number and time waited for transaction dependencies.
|
private |
Tracks the number and time waited for transaction dependencies.
|
private |
Tracks the number and time waited for transactions to apply.
|
private |
Tracks the number and time waited for transactions to apply.