MySQL 8.4.2
Source Code Documentation
|
The pipeline stats aggregator of all group members stats and flow control module. More...
#include <pipeline_stats.h>
Public Member Functions | |
Flow_control_module () | |
Default constructor. More... | |
virtual | ~Flow_control_module () |
Destructor. More... | |
int | handle_stats_data (const uchar *data, size_t len, const std::string &member_id) |
Handles a Pipeline_stats_message, updating the Flow_control_module_info and the delay, if needed. More... | |
void | flow_control_step (Pipeline_stats_member_collector *) |
Evaluate the information received in the last flow control period and adjust the system parameters accordingly. More... | |
Pipeline_member_stats * | get_pipeline_stats (const std::string &member_id) |
Returns copy of individual member stats information. More... | |
int32 | do_wait () |
Compute and wait the amount of time in microseconds that must be elapsed before a new message is sent. More... | |
Static Public Attributes | |
static const int64 | MAXTPS = INT_MAX32 |
Private Attributes | |
mysql_mutex_t | m_flow_control_lock |
mysql_cond_t | m_flow_control_cond |
Flow_control_module_info | m_info |
Checkable_rwlock * | m_flow_control_module_info_lock |
std::atomic< int32 > | m_holds_in_period |
std::atomic< int64 > | m_quota_used |
std::atomic< int64 > | m_quota_size |
uint64 | m_stamp |
int | seconds_to_skip |
The pipeline stats aggregator of all group members stats and flow control module.
Flow_control_module::Flow_control_module | ( | ) |
Default constructor.
|
virtual |
Destructor.
int32 Flow_control_module::do_wait | ( | ) |
Compute and wait the amount of time in microseconds that must be elapsed before a new message is sent.
If there is no need to wait, the method returns immediately.
0 | No wait was done |
>0 | The wait time |
void Flow_control_module::flow_control_step | ( | Pipeline_stats_member_collector * | member | ) |
Evaluate the information received in the last flow control period and adjust the system parameters accordingly.
Pipeline_member_stats * Flow_control_module::get_pipeline_stats | ( | const std::string & | member_id | ) |
Returns copy of individual member stats information.
[in] | member_id | GCS Type Member Id, i.e. format HOST:PORT |
int Flow_control_module::handle_stats_data | ( | const uchar * | data, |
size_t | len, | ||
const std::string & | member_id | ||
) |
Handles a Pipeline_stats_message, updating the Flow_control_module_info and the delay, if needed.
[in] | data | the packet data |
[in] | len | the packet length |
[in] | member_id | the GCS member_id which sent the message |
0 | OK |
!=0 | Error on queue |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |