MXS-977: Move common diagnostic code to the core
Almost all monitors printed the same diagnostic output inside the modules. This should be a part of the core, not the modules themselves.
This commit is contained in:
@ -424,9 +424,46 @@ monitorShowAll(DCB *dcb)
|
|||||||
void
|
void
|
||||||
monitorShow(DCB *dcb, MONITOR *monitor)
|
monitorShow(DCB *dcb, MONITOR *monitor)
|
||||||
{
|
{
|
||||||
|
const char *state;
|
||||||
|
|
||||||
|
switch (monitor->state)
|
||||||
|
{
|
||||||
|
case MONITOR_STATE_RUNNING:
|
||||||
|
state = "Running";
|
||||||
|
break;
|
||||||
|
case MONITOR_STATE_STOPPING:
|
||||||
|
state = "Stopping";
|
||||||
|
break;
|
||||||
|
case MONITOR_STATE_STOPPED:
|
||||||
|
state = "Stopped";
|
||||||
|
break;
|
||||||
|
case MONITOR_STATE_ALLOC:
|
||||||
|
state = "Allocated";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
state = "Unknown";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
dcb_printf(dcb, "Monitor: %p\n", monitor);
|
dcb_printf(dcb, "Monitor: %p\n", monitor);
|
||||||
dcb_printf(dcb, "\tName: %s\n", monitor->name);
|
dcb_printf(dcb, "Name: %s\n", monitor->name);
|
||||||
|
dcb_printf(dcb, "State: %s\n", state);
|
||||||
|
dcb_printf(dcb, "Sampling interval: %lu milliseconds\n", monitor->interval);
|
||||||
|
dcb_printf(dcb, "Connect Timeout: %i seconds\n", monitor->connect_timeout);
|
||||||
|
dcb_printf(dcb, "Read Timeout: %i seconds\n", monitor->read_timeout);
|
||||||
|
dcb_printf(dcb, "Write Timeout: %i seconds\n", monitor->write_timeout);
|
||||||
|
dcb_printf(dcb, "Monitored servers: ");
|
||||||
|
|
||||||
|
const char *sep = "";
|
||||||
|
|
||||||
|
for (MONITOR_SERVERS *db = monitor->databases; db; db = db->next)
|
||||||
|
{
|
||||||
|
dcb_printf(dcb, "%s%s:%d", sep, db->server->name, db->server->port);
|
||||||
|
sep = ", ";
|
||||||
|
}
|
||||||
|
|
||||||
|
dcb_printf(dcb, "\n");
|
||||||
|
|
||||||
if (monitor->handle)
|
if (monitor->handle)
|
||||||
{
|
{
|
||||||
if (monitor->module->diagnostics)
|
if (monitor->module->diagnostics)
|
||||||
@ -442,6 +479,7 @@ monitorShow(DCB *dcb, MONITOR *monitor)
|
|||||||
{
|
{
|
||||||
dcb_printf(dcb, "\tMonitor failed\n");
|
dcb_printf(dcb, "\tMonitor failed\n");
|
||||||
}
|
}
|
||||||
|
dcb_printf(dcb, "\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -250,41 +250,11 @@ static void
|
|||||||
diagnostics(DCB *dcb, const MONITOR *mon)
|
diagnostics(DCB *dcb, const MONITOR *mon)
|
||||||
{
|
{
|
||||||
const GALERA_MONITOR *handle = (const GALERA_MONITOR *) mon->handle;
|
const GALERA_MONITOR *handle = (const GALERA_MONITOR *) mon->handle;
|
||||||
MONITOR_SERVERS *db;
|
|
||||||
char *sep;
|
|
||||||
|
|
||||||
switch (handle->status)
|
dcb_printf(dcb, "Master Failback:\t%s\n", (handle->disableMasterFailback == 1) ? "off" : "on");
|
||||||
{
|
dcb_printf(dcb, "Available when Donor:\t%s\n", (handle->availableWhenDonor == 1) ? "on" : "off");
|
||||||
case MONITOR_RUNNING:
|
dcb_printf(dcb, "Master Role Setting Disabled:\t%s\n",
|
||||||
dcb_printf(dcb, "\tMonitor running\n");
|
|
||||||
break;
|
|
||||||
case MONITOR_STOPPING:
|
|
||||||
dcb_printf(dcb, "\tMonitor stopping\n");
|
|
||||||
break;
|
|
||||||
case MONITOR_STOPPED:
|
|
||||||
dcb_printf(dcb, "\tMonitor stopped\n");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
dcb_printf(dcb, "\tSampling interval:\t%lu milliseconds\n", mon->interval);
|
|
||||||
dcb_printf(dcb, "\tMaster Failback:\t%s\n", (handle->disableMasterFailback == 1) ? "off" : "on");
|
|
||||||
dcb_printf(dcb, "\tAvailable when Donor:\t%s\n", (handle->availableWhenDonor == 1) ? "on" : "off");
|
|
||||||
dcb_printf(dcb, "\tMaster Role Setting Disabled:\t%s\n",
|
|
||||||
(handle->disableMasterRoleSetting == 1) ? "on" : "off");
|
(handle->disableMasterRoleSetting == 1) ? "on" : "off");
|
||||||
dcb_printf(dcb, "\tConnect Timeout:\t%i seconds\n", mon->connect_timeout);
|
|
||||||
dcb_printf(dcb, "\tRead Timeout:\t\t%i seconds\n", mon->read_timeout);
|
|
||||||
dcb_printf(dcb, "\tWrite Timeout:\t\t%i seconds\n", mon->write_timeout);
|
|
||||||
dcb_printf(dcb, "\tMonitored servers: ");
|
|
||||||
|
|
||||||
db = mon->databases;
|
|
||||||
sep = "";
|
|
||||||
while (db)
|
|
||||||
{
|
|
||||||
dcb_printf(dcb, "%s%s:%d", sep, db->server->name, db->server->port);
|
|
||||||
sep = ", ";
|
|
||||||
db = db->next;
|
|
||||||
}
|
|
||||||
dcb_printf(dcb, "\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -218,35 +218,8 @@ stopMonitor(MONITOR *mon)
|
|||||||
static void diagnostics(DCB *dcb, const MONITOR *mon)
|
static void diagnostics(DCB *dcb, const MONITOR *mon)
|
||||||
{
|
{
|
||||||
const MM_MONITOR *handle = (const MM_MONITOR *) mon->handle;
|
const MM_MONITOR *handle = (const MM_MONITOR *) mon->handle;
|
||||||
MONITOR_SERVERS *db;
|
|
||||||
char *sep;
|
|
||||||
|
|
||||||
switch (handle->status)
|
dcb_printf(dcb, "Detect Stale Master:\t%s\n", (handle->detectStaleMaster == 1) ? "enabled" : "disabled");
|
||||||
{
|
|
||||||
case MONITOR_RUNNING:
|
|
||||||
dcb_printf(dcb, "\tMonitor running\n");
|
|
||||||
break;
|
|
||||||
case MONITOR_STOPPING:
|
|
||||||
dcb_printf(dcb, "\tMonitor stopping\n");
|
|
||||||
break;
|
|
||||||
case MONITOR_STOPPED:
|
|
||||||
dcb_printf(dcb, "\tMonitor stopped\n");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
dcb_printf(dcb, "\tSampling interval:\t%lu milliseconds\n", mon->interval);
|
|
||||||
dcb_printf(dcb, "\tDetect Stale Master:\t%s\n", (handle->detectStaleMaster == 1) ? "enabled" : "disabled");
|
|
||||||
dcb_printf(dcb, "\tMonitored servers: ");
|
|
||||||
|
|
||||||
db = mon->databases;
|
|
||||||
sep = "";
|
|
||||||
while (db)
|
|
||||||
{
|
|
||||||
dcb_printf(dcb, "%s%s:%d", sep, db->server->name, db->server->port);
|
|
||||||
sep = ", ";
|
|
||||||
db = db->next;
|
|
||||||
}
|
|
||||||
dcb_printf(dcb, "\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -403,35 +403,14 @@ stopMonitor(MONITOR *mon)
|
|||||||
*/
|
*/
|
||||||
static void diagnostics(DCB *dcb, const MONITOR *mon)
|
static void diagnostics(DCB *dcb, const MONITOR *mon)
|
||||||
{
|
{
|
||||||
const MYSQL_MONITOR *handle = (const MYSQL_MONITOR *) mon->handle;
|
const MYSQL_MONITOR *handle = (const MYSQL_MONITOR *)mon->handle;
|
||||||
MONITOR_SERVERS *db;
|
|
||||||
char *sep;
|
|
||||||
|
|
||||||
switch (handle->status)
|
dcb_printf(dcb, "MaxScale MonitorId:\t%lu\n", handle->id);
|
||||||
{
|
dcb_printf(dcb, "Replication lag:\t%s\n", (handle->replicationHeartbeat == 1) ? "enabled" : "disabled");
|
||||||
case MONITOR_RUNNING:
|
dcb_printf(dcb, "Detect Stale Master:\t%s\n", (handle->detectStaleMaster == 1) ? "enabled" : "disabled");
|
||||||
dcb_printf(dcb, "\tMonitor running\n");
|
dcb_printf(dcb, "Server information\n\n");
|
||||||
break;
|
|
||||||
case MONITOR_STOPPING:
|
|
||||||
dcb_printf(dcb, "\tMonitor stopping\n");
|
|
||||||
break;
|
|
||||||
case MONITOR_STOPPED:
|
|
||||||
dcb_printf(dcb, "\tMonitor stopped\n");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
dcb_printf(dcb, "\tSampling interval:\t%lu milliseconds\n", mon->interval);
|
for (MONITOR_SERVERS *db = mon->databases; db; db = db->next)
|
||||||
dcb_printf(dcb, "\tMaxScale MonitorId:\t%lu\n", handle->id);
|
|
||||||
dcb_printf(dcb, "\tReplication lag:\t%s\n", (handle->replicationHeartbeat == 1) ? "enabled" : "disabled");
|
|
||||||
dcb_printf(dcb, "\tDetect Stale Master:\t%s\n", (handle->detectStaleMaster == 1) ? "enabled" : "disabled");
|
|
||||||
dcb_printf(dcb, "\tConnect Timeout:\t%i seconds\n", mon->connect_timeout);
|
|
||||||
dcb_printf(dcb, "\tRead Timeout:\t\t%i seconds\n", mon->read_timeout);
|
|
||||||
dcb_printf(dcb, "\tWrite Timeout:\t\t%i seconds\n", mon->write_timeout);
|
|
||||||
dcb_printf(dcb, "\nMonitored servers\n\n");
|
|
||||||
|
|
||||||
db = mon->databases;
|
|
||||||
|
|
||||||
while (db)
|
|
||||||
{
|
{
|
||||||
MYSQL_SERVER_INFO *serv_info = hashtable_fetch(handle->server_info, db->server->unique_name);
|
MYSQL_SERVER_INFO *serv_info = hashtable_fetch(handle->server_info, db->server->unique_name);
|
||||||
dcb_printf(dcb, "Server: %s\n", db->server->unique_name);
|
dcb_printf(dcb, "Server: %s\n", db->server->unique_name);
|
||||||
@ -450,7 +429,6 @@ static void diagnostics(DCB *dcb, const MONITOR *mon)
|
|||||||
}
|
}
|
||||||
|
|
||||||
dcb_printf(dcb, "\n");
|
dcb_printf(dcb, "\n");
|
||||||
db = db->next;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -210,38 +210,6 @@ stopMonitor(MONITOR *mon)
|
|||||||
static void
|
static void
|
||||||
diagnostics(DCB *dcb, const MONITOR *mon)
|
diagnostics(DCB *dcb, const MONITOR *mon)
|
||||||
{
|
{
|
||||||
const MYSQL_MONITOR *handle = (const MYSQL_MONITOR *) mon->handle;
|
|
||||||
MONITOR_SERVERS *db;
|
|
||||||
char *sep;
|
|
||||||
|
|
||||||
switch (handle->status)
|
|
||||||
{
|
|
||||||
case MONITOR_RUNNING:
|
|
||||||
dcb_printf(dcb, "\tMonitor running\n");
|
|
||||||
break;
|
|
||||||
case MONITOR_STOPPING:
|
|
||||||
dcb_printf(dcb, "\tMonitor stopping\n");
|
|
||||||
break;
|
|
||||||
case MONITOR_STOPPED:
|
|
||||||
dcb_printf(dcb, "\tMonitor stopped\n");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
dcb_printf(dcb, "\tSampling interval:\t%lu milliseconds\n", mon->interval);
|
|
||||||
dcb_printf(dcb, "\tConnect Timeout:\t%i seconds\n", mon->connect_timeout);
|
|
||||||
dcb_printf(dcb, "\tRead Timeout:\t\t%i seconds\n", mon->read_timeout);
|
|
||||||
dcb_printf(dcb, "\tWrite Timeout:\t\t%i seconds\n", mon->write_timeout);
|
|
||||||
dcb_printf(dcb, "\tMonitored servers: ");
|
|
||||||
|
|
||||||
db = mon->databases;
|
|
||||||
sep = "";
|
|
||||||
while (db)
|
|
||||||
{
|
|
||||||
dcb_printf(dcb, "%s%s:%d", sep, db->server->name, db->server->port);
|
|
||||||
sep = ", ";
|
|
||||||
db = db->next;
|
|
||||||
}
|
|
||||||
dcb_printf(dcb, "\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user