MXS-2329 Use durations in monitor (common parts)
This commit is contained in:
@ -522,13 +522,14 @@ const MXS_MODULE_PARAM config_monitor_params[] =
|
||||
},
|
||||
{
|
||||
CN_MONITOR_INTERVAL,
|
||||
MXS_MODULE_PARAM_COUNT,
|
||||
"2000"
|
||||
MXS_MODULE_PARAM_DURATION,
|
||||
"2000ms"
|
||||
},
|
||||
{
|
||||
CN_BACKEND_CONNECT_TIMEOUT,
|
||||
MXS_MODULE_PARAM_COUNT,
|
||||
"3"
|
||||
MXS_MODULE_PARAM_DURATION,
|
||||
"3s",
|
||||
MXS_MODULE_OPT_DURATION_S
|
||||
},
|
||||
{
|
||||
CN_BACKEND_READ_TIMEOUT,
|
||||
@ -537,8 +538,9 @@ const MXS_MODULE_PARAM config_monitor_params[] =
|
||||
},
|
||||
{
|
||||
CN_BACKEND_WRITE_TIMEOUT,
|
||||
MXS_MODULE_PARAM_COUNT,
|
||||
"2"
|
||||
MXS_MODULE_PARAM_DURATION,
|
||||
"2s",
|
||||
MXS_MODULE_OPT_DURATION_S
|
||||
},
|
||||
{
|
||||
CN_BACKEND_CONNECT_ATTEMPTS,
|
||||
@ -547,8 +549,9 @@ const MXS_MODULE_PARAM config_monitor_params[] =
|
||||
},
|
||||
{
|
||||
CN_JOURNAL_MAX_AGE,
|
||||
MXS_MODULE_PARAM_COUNT,
|
||||
"28800"
|
||||
MXS_MODULE_PARAM_DURATION,
|
||||
"28800s",
|
||||
MXS_MODULE_OPT_DURATION_S
|
||||
},
|
||||
{
|
||||
CN_DISK_SPACE_THRESHOLD,
|
||||
@ -556,8 +559,8 @@ const MXS_MODULE_PARAM config_monitor_params[] =
|
||||
},
|
||||
{
|
||||
CN_DISK_SPACE_CHECK_INTERVAL,
|
||||
MXS_MODULE_PARAM_COUNT,
|
||||
"0"
|
||||
MXS_MODULE_PARAM_DURATION,
|
||||
"0ms"
|
||||
},
|
||||
{
|
||||
CN_SCRIPT, // Cannot be a path type as the script may have parameters
|
||||
@ -565,8 +568,9 @@ const MXS_MODULE_PARAM config_monitor_params[] =
|
||||
},
|
||||
{
|
||||
CN_SCRIPT_TIMEOUT,
|
||||
MXS_MODULE_PARAM_COUNT,
|
||||
"90"
|
||||
MXS_MODULE_PARAM_DURATION,
|
||||
"90s",
|
||||
MXS_MODULE_OPT_DURATION_S
|
||||
},
|
||||
{
|
||||
CN_EVENTS,
|
||||
|
@ -433,23 +433,27 @@ const char* Monitor::name() const
|
||||
return m_name.c_str();
|
||||
}
|
||||
|
||||
using std::chrono::milliseconds;
|
||||
using std::chrono::seconds;
|
||||
|
||||
bool Monitor::configure(const MXS_CONFIG_PARAMETER* params)
|
||||
{
|
||||
m_settings.interval = params->get_integer(CN_MONITOR_INTERVAL);
|
||||
m_settings.journal_max_age = params->get_integer(CN_JOURNAL_MAX_AGE);
|
||||
m_settings.script_timeout = params->get_integer(CN_SCRIPT_TIMEOUT);
|
||||
m_settings.interval = params->get_duration<milliseconds>(CN_MONITOR_INTERVAL).count();
|
||||
m_settings.journal_max_age = params->get_duration<seconds>(CN_JOURNAL_MAX_AGE).count();
|
||||
m_settings.script_timeout = params->get_duration<seconds>(CN_SCRIPT_TIMEOUT).count();
|
||||
m_settings.script = params->get_string(CN_SCRIPT);
|
||||
m_settings.events = params->get_enum(CN_EVENTS, mxs_monitor_event_enum_values);
|
||||
|
||||
m_settings.conn_settings.read_timeout = params->get_integer(CN_BACKEND_READ_TIMEOUT);
|
||||
m_settings.conn_settings.write_timeout = params->get_integer(CN_BACKEND_WRITE_TIMEOUT);
|
||||
m_settings.conn_settings.connect_timeout = params->get_integer(CN_BACKEND_CONNECT_TIMEOUT);
|
||||
m_settings.conn_settings.connect_attempts = params->get_integer(CN_BACKEND_CONNECT_ATTEMPTS);
|
||||
m_settings.conn_settings.username = params->get_string(CN_USER);
|
||||
m_settings.conn_settings.password = params->get_string(CN_PASSWORD);
|
||||
MonitorServer::ConnectionSettings& conn_settings = m_settings.conn_settings;
|
||||
conn_settings.read_timeout = params->get_duration<seconds>(CN_BACKEND_READ_TIMEOUT).count();
|
||||
conn_settings.write_timeout = params->get_duration<seconds>(CN_BACKEND_WRITE_TIMEOUT).count();
|
||||
conn_settings.connect_timeout = params->get_duration<seconds>(CN_BACKEND_CONNECT_TIMEOUT).count();
|
||||
conn_settings.connect_attempts = params->get_integer(CN_BACKEND_CONNECT_ATTEMPTS);
|
||||
conn_settings.username = params->get_string(CN_USER);
|
||||
conn_settings.password = params->get_string(CN_PASSWORD);
|
||||
|
||||
// Disk check interval is given in ms, duration is constructed from seconds.
|
||||
auto dsc_interval = params->get_integer(CN_DISK_SPACE_CHECK_INTERVAL);
|
||||
auto dsc_interval = params->get_duration<milliseconds>(CN_DISK_SPACE_CHECK_INTERVAL).count();
|
||||
// 0 implies disabling -> save negative value to interval.
|
||||
m_settings.disk_space_check_interval = (dsc_interval > 0) ?
|
||||
mxb::Duration(static_cast<double>(dsc_interval) / 1000) : mxb::Duration(-1);
|
||||
|
Reference in New Issue
Block a user