MXS-1775 Monitor loop and monitoring separated

In preparation for moving the monitor loop to MonitorInstance.
This commit is contained in:
Johan Wikman
2018-05-16 15:28:49 +03:00
parent 6fff5a4f23
commit 2396b555f8
10 changed files with 234 additions and 204 deletions

View File

@ -272,23 +272,7 @@ void NDBCMonitor::main()
lock_monitor_servers(m_monitor);
servers_status_pending_to_current(m_monitor);
MXS_MONITORED_SERVER *ptr = m_monitor->monitored_servers;
while (ptr)
{
ptr->mon_prev_status = ptr->server->status;
monitorDatabase(ptr, m_monitor->user, m_monitor->password, m_monitor);
if (ptr->server->status != ptr->mon_prev_status ||
SERVER_IS_DOWN(ptr->server))
{
MXS_DEBUG("Backend server [%s]:%d state : %s",
ptr->server->address,
ptr->server->port,
STRSRVSTATUS(ptr->server));
}
ptr = ptr->next;
}
tick();
/**
* After updating the status of all servers, check if monitor events
@ -302,3 +286,24 @@ void NDBCMonitor::main()
release_monitor_servers(m_monitor);
}
}
void NDBCMonitor::tick()
{
MXS_MONITORED_SERVER *ptr = m_monitor->monitored_servers;
while (ptr)
{
ptr->mon_prev_status = ptr->server->status;
monitorDatabase(ptr, m_monitor->user, m_monitor->password, m_monitor);
if (ptr->server->status != ptr->mon_prev_status ||
SERVER_IS_DOWN(ptr->server))
{
MXS_DEBUG("Backend server [%s]:%d state : %s",
ptr->server->address,
ptr->server->port,
STRSRVSTATUS(ptr->server));
}
ptr = ptr->next;
}
}

View File

@ -40,6 +40,7 @@ private:
bool has_sufficient_permissions() const;
void configure(const MXS_CONFIG_PARAMETER* params);
void tick();
void main();
};