Allow module specific monitor parameters to be altered

Module specific parameters can now be altered at runtime. This allows both
the removal and addition of arbitrary monitor parameters.
This commit is contained in:
Markus Makela
2016-11-29 16:25:45 +02:00
parent 24af4b3225
commit 4c4bd24a40
7 changed files with 71 additions and 11 deletions

View File

@ -238,7 +238,7 @@ bool config_set_qualified_param(CONFIG_PARAMETER* param,
config_param_type_t type);
int config_threadcount();
int config_truth_value(char *);
void free_config_parameter(CONFIG_PARAMETER* p1);
void config_parameter_free(CONFIG_PARAMETER* p1);
bool is_internal_service(const char *router);
MXS_END_DECLS

View File

@ -199,6 +199,7 @@ struct monitor
char *module_name; /**< Name of the monitor module */
void *handle; /**< Handle returned from startMonitor */
size_t interval; /**< The monitor interval */
bool created_online; /**< Whether this monitor was created at runtime */
struct monitor *next; /**< Next monitor in the linked list */
};
@ -209,6 +210,7 @@ extern void monitorAddServer(MONITOR *mon, SERVER *server);
extern void monitorRemoveServer(MONITOR *mon, SERVER *server);
extern void monitorAddUser(MONITOR *, char *, char *);
extern void monitorAddParameters(MONITOR *monitor, CONFIG_PARAMETER *params);
extern bool monitorRemoveParameter(MONITOR *monitor, const char *key);
extern void monitorStop(MONITOR *);
extern void monitorStart(MONITOR *, void*);
extern void monitorStopAll();