projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
statsd plugin: add TimerLower and TimerUpper options
[collectd.git]
/
src
/
filter_chain.c
diff --git
a/src/filter_chain.c
b/src/filter_chain.c
index
4b164dc
..
7d8369b
100644
(file)
--- a/
src/filter_chain.c
+++ b/
src/filter_chain.c
@@
-22,6
+22,7
@@
#include "collectd.h"
#include "configfile.h"
#include "plugin.h"
#include "collectd.h"
#include "configfile.h"
#include "plugin.h"
+#include "utils_complain.h"
#include "common.h"
#include "filter_chain.h"
#include "common.h"
#include "filter_chain.h"
@@
-91,7
+92,7
@@
static void fc_free_matches (fc_match_t *m) /* {{{ */
(*m->proc.destroy) (&m->user_data);
else if (m->user_data != NULL)
{
(*m->proc.destroy) (&m->user_data);
else if (m->user_data != NULL)
{
- ERROR ("Filter s
y
bsystem: fc_free_matches: There is user data, but no "
+ ERROR ("Filter s
u
bsystem: fc_free_matches: There is user data, but no "
"destroy functions has been specified. "
"Memory will probably be lost!");
}
"destroy functions has been specified. "
"Memory will probably be lost!");
}
@@
-111,7
+112,7
@@
static void fc_free_targets (fc_target_t *t) /* {{{ */
(*t->proc.destroy) (&t->user_data);
else if (t->user_data != NULL)
{
(*t->proc.destroy) (&t->user_data);
else if (t->user_data != NULL)
{
- ERROR ("Filter s
y
bsystem: fc_free_targets: There is user data, but no "
+ ERROR ("Filter s
u
bsystem: fc_free_targets: There is user data, but no "
"destroy functions has been specified. "
"Memory will probably be lost!");
}
"destroy functions has been specified. "
"Memory will probably be lost!");
}
@@
-692,10
+693,15
@@
static int fc_bit_write_invoke (const data_set_t *ds, /* {{{ */
if ((plugin_list == NULL) || (plugin_list[0] == NULL))
{
if ((plugin_list == NULL) || (plugin_list[0] == NULL))
{
+ static c_complain_t enoent_complaint = C_COMPLAIN_INIT_STATIC;
+
status = plugin_write (/* plugin = */ NULL, ds, vl);
if (status == ENOENT)
{
status = plugin_write (/* plugin = */ NULL, ds, vl);
if (status == ENOENT)
{
- INFO ("Filter subsystem: Built-in target `write': Dispatching value to "
+ /* in most cases this is a permanent error, so use the complain
+ * mechanism rather than spamming the logs */
+ c_complain (LOG_INFO, &enoent_complaint,
+ "Filter subsystem: Built-in target `write': Dispatching value to "
"all write plugins failed with status %i (ENOENT). "
"Most likely this means you didn't load any write plugins.",
status);
"all write plugins failed with status %i (ENOENT). "
"Most likely this means you didn't load any write plugins.",
status);
@@
-705,6
+711,13
@@
static int fc_bit_write_invoke (const data_set_t *ds, /* {{{ */
INFO ("Filter subsystem: Built-in target `write': Dispatching value to "
"all write plugins failed with status %i.", status);
}
INFO ("Filter subsystem: Built-in target `write': Dispatching value to "
"all write plugins failed with status %i.", status);
}
+ else
+ {
+ assert (status == 0);
+ c_release (LOG_INFO, &enoent_complaint, "Filter subsystem: "
+ "Built-in target `write': Some write plugin is back to normal "
+ "operation. `write' succeeded.");
+ }
}
else
{
}
else
{