new monitor routines
new monitor routines
This commit is contained in:
@ -245,9 +245,24 @@ monitorSetId(MONITOR *mon, unsigned long id)
|
|||||||
* @param mon The monitor instance
|
* @param mon The monitor instance
|
||||||
* @param interval The sampling interval in milliseconds
|
* @param interval The sampling interval in milliseconds
|
||||||
*/
|
*/
|
||||||
|
void
|
||||||
monitorSetInterval (MONITOR *mon, unsigned long interval)
|
monitorSetInterval (MONITOR *mon, unsigned long interval)
|
||||||
{
|
{
|
||||||
if (mon->module->setInterval != NULL) {
|
if (mon->module->setInterval != NULL) {
|
||||||
mon->module->setInterval(mon->handle, interval);
|
mon->module->setInterval(mon->handle, interval);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable Replication Heartbeat support in monitor.
|
||||||
|
*
|
||||||
|
* @param mon The monitor instance
|
||||||
|
* @param interval The sampling interval in milliseconds
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
monitorSetReplicationHeartbeat(MONITOR *mon, int replication_heartbeat)
|
||||||
|
{
|
||||||
|
if (mon->module->replicationHeartbeat != NULL) {
|
||||||
|
mon->module->replicationHeartbeat(mon->handle, replication_heartbeat);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -69,6 +69,7 @@ typedef struct {
|
|||||||
void (*diagnostics)(DCB *, void *);
|
void (*diagnostics)(DCB *, void *);
|
||||||
void (*setInterval)(void *, unsigned long);
|
void (*setInterval)(void *, unsigned long);
|
||||||
void (*defaultId)(void *, unsigned long);
|
void (*defaultId)(void *, unsigned long);
|
||||||
|
void (*replicationHeartbeat)(void *, int);
|
||||||
} MONITOR_OBJECT;
|
} MONITOR_OBJECT;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -49,7 +49,7 @@ extern int lm_enabled_logfiles_bitmask;
|
|||||||
|
|
||||||
static void monitorMain(void *);
|
static void monitorMain(void *);
|
||||||
|
|
||||||
static char *version_str = "V1.1.1";
|
static char *version_str = "V1.2.0";
|
||||||
|
|
||||||
static void *startMonitor(void *);
|
static void *startMonitor(void *);
|
||||||
static void stopMonitor(void *);
|
static void stopMonitor(void *);
|
||||||
@ -59,7 +59,7 @@ static void defaultUsers(void *, char *, char *);
|
|||||||
static void diagnostics(DCB *, void *);
|
static void diagnostics(DCB *, void *);
|
||||||
static void setInterval(void *, unsigned long);
|
static void setInterval(void *, unsigned long);
|
||||||
|
|
||||||
static MONITOR_OBJECT MyObject = { startMonitor, stopMonitor, registerServer, unregisterServer, defaultUsers, diagnostics, setInterval, NULL };
|
static MONITOR_OBJECT MyObject = { startMonitor, stopMonitor, registerServer, unregisterServer, defaultUsers, diagnostics, setInterval, NULL, NULL };
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implementation of the mandatory version entry point
|
* Implementation of the mandatory version entry point
|
||||||
|
@ -53,7 +53,7 @@ extern int lm_enabled_logfiles_bitmask;
|
|||||||
|
|
||||||
static void monitorMain(void *);
|
static void monitorMain(void *);
|
||||||
|
|
||||||
static char *version_str = "V1.1.1";
|
static char *version_str = "V1.2.0";
|
||||||
|
|
||||||
static void *startMonitor(void *);
|
static void *startMonitor(void *);
|
||||||
static void stopMonitor(void *);
|
static void stopMonitor(void *);
|
||||||
@ -63,8 +63,9 @@ static void defaultUser(void *, char *, char *);
|
|||||||
static void diagnostics(DCB *, void *);
|
static void diagnostics(DCB *, void *);
|
||||||
static void setInterval(void *, unsigned long);
|
static void setInterval(void *, unsigned long);
|
||||||
static void defaultId(void *, unsigned long);
|
static void defaultId(void *, unsigned long);
|
||||||
|
static void replicationHeartbeat(void *, int);
|
||||||
|
|
||||||
static MONITOR_OBJECT MyObject = { startMonitor, stopMonitor, registerServer, unregisterServer, defaultUser, diagnostics, setInterval, defaultId };
|
static MONITOR_OBJECT MyObject = { startMonitor, stopMonitor, registerServer, unregisterServer, defaultUser, diagnostics, setInterval, defaultId, replicationHeartbeat };
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implementation of the mandatory version entry point
|
* Implementation of the mandatory version entry point
|
||||||
@ -505,3 +506,16 @@ setInterval(void *arg, unsigned long interval)
|
|||||||
MYSQL_MONITOR *handle = (MYSQL_MONITOR *)arg;
|
MYSQL_MONITOR *handle = (MYSQL_MONITOR *)arg;
|
||||||
memcpy(&handle->interval, &interval, sizeof(unsigned long));
|
memcpy(&handle->interval, &interval, sizeof(unsigned long));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable/Disable the MySQL Replication hearbeat, detecting slave lag behind master.
|
||||||
|
*
|
||||||
|
* @param arg The handle allocated by startMonitor
|
||||||
|
* @param replicationHeartbeat To enable it 1, disable it with 0
|
||||||
|
*/
|
||||||
|
static void
|
||||||
|
replicationHeartbeat(void *arg, int replicationHeartbeat)
|
||||||
|
{
|
||||||
|
MYSQL_MONITOR *handle = (MYSQL_MONITOR *)arg;
|
||||||
|
memcpy(&handle->replicationHeartbeat, &replicationHeartbeat, sizeof(int));
|
||||||
|
}
|
||||||
|
@ -58,6 +58,8 @@ typedef struct {
|
|||||||
char *defaultPasswd; /**< Default password for monitoring */
|
char *defaultPasswd; /**< Default password for monitoring */
|
||||||
unsigned long interval; /**< Monitor sampling interval */
|
unsigned long interval; /**< Monitor sampling interval */
|
||||||
unsigned long id; /**< Monitor ID */
|
unsigned long id; /**< Monitor ID */
|
||||||
|
int replicationHeartbeat; /**< Monitor flag for MySQL replication heartbeat */
|
||||||
|
int master_id; /**< Master server-id for MySQL Master/Slave replication */
|
||||||
MONITOR_SERVERS *databases; /**< Linked list of servers to monitor */
|
MONITOR_SERVERS *databases; /**< Linked list of servers to monitor */
|
||||||
} MYSQL_MONITOR;
|
} MYSQL_MONITOR;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user