Fix calls to diagnostics_json

Add missing listener JSON diagnostics call. Check that the
diagnostics_json function exists before calling it.

As the protocol modules don't have diagnostics functions, they aren't
called.

Replace hard-coded strings with constant parameters. This makes it
slightly cleaner.
This commit is contained in:
Markus Mäkelä
2018-03-19 12:38:32 +02:00
parent 94f29a11c5
commit dcf9d7f152
6 changed files with 23 additions and 5 deletions

View File

@ -1864,13 +1864,13 @@ json_t* monitor_json_data(const MXS_MONITOR* monitor, const char* host)
/** Monitor parameters */
json_object_set_new(attr, CN_PARAMETERS, monitor_parameters_to_json(monitor));
if (monitor->handle && monitor->module->diagnostics)
if (monitor->handle && monitor->module->diagnostics_json)
{
json_t* diag = monitor->module->diagnostics_json(monitor);
if (diag)
{
json_object_set_new(attr, "monitor_diagnostics", diag);
json_object_set_new(attr, CN_MONITOR_DIAGNOSTICS, diag);
}
}