From dae0b188243d483bfac124f1b4c070830504ab75 Mon Sep 17 00:00:00 2001 From: Florian Forster Date: Mon, 31 Mar 2008 17:03:56 +0200 Subject: [PATCH] src/plugin.c: plugin_dispatch_values: Improve the error messages. If no write plugin was loaded or no DS was defined, the `plugin_dispatch_values' used to fail silently. This is of course not good, so this commit introduces error messages for this case, so that users can see why their setup is not working properly. Also, the ``no such DS type'' message was promoted from DEBUG to INFO. --- src/plugin.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/plugin.c b/src/plugin.c index acf7620e..7d2bb57f 100644 --- a/src/plugin.c +++ b/src/plugin.c @@ -643,19 +643,32 @@ int plugin_dispatch_values (const char *name, value_list_t *vl) data_set_t *ds; llentry_t *le; - if ((list_write == NULL) || (list_data_set == NULL)) + if (list_write == NULL) + { + ERROR ("plugin_dispatch_values: No write callback has been " + "registered. Please load at least one plugin " + "that provides a write function."); + return (-1); + } + + if (list_data_set == NULL) + { + ERROR ("plugin_dispatch_values: No data sets registered. " + "Could the types database be read? Check " + "your `TypesDB' setting!"); return (-1); + } le = llist_search (list_data_set, name); if (le == NULL) { - DEBUG ("No such dataset registered: %s", name); + INFO ("plugin_dispatch_values: Dataset not found: %s", name); return (-1); } ds = (data_set_t *) le->value; - DEBUG ("plugin: plugin_dispatch_values: time = %u; interval = %i; " + DEBUG ("plugin_dispatch_values: time = %u; interval = %i; " "host = %s; " "plugin = %s; plugin_instance = %s; " "type = %s; type_instance = %s;", @@ -669,7 +682,8 @@ int plugin_dispatch_values (const char *name, value_list_t *vl) #else if (ds->ds_num != vl->values_len) { - ERROR ("plugin: ds->type = %s: (ds->ds_num = %i) != " + ERROR ("plugin_dispatch_values: ds->type = %s: " + "(ds->ds_num = %i) != " "(vl->values_len = %i)", ds->type, ds->ds_num, vl->values_len); return (-1); -- 2.30.2