X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fwrite_graphite.c;h=9feb6b338458f828d0deb4bbacf81a6feb3750d3;hb=f66916deea905254061bb07245e007471faf2ecf;hp=fe2376ad7382f0d2ae14f39ef6500c26e49ec8df;hpb=e2ff4dd149e85527eba7a38a8f38aeb3b548f39c;p=collectd.git diff --git a/src/write_graphite.c b/src/write_graphite.c index fe2376ad..9feb6b33 100644 --- a/src/write_graphite.c +++ b/src/write_graphite.c @@ -52,16 +52,34 @@ #include -#define WG_DEFAULT_NODE "localhost" -#define WG_DEFAULT_SERVICE "2003" -#define WG_DEFAULT_PROTOCOL "tcp" -#define WG_DEFAULT_LOG_SEND_ERRORS 1 -#define WG_DEFAULT_ESCAPE '_' +#ifndef WG_DEFAULT_NODE +# define WG_DEFAULT_NODE "localhost" +#endif + +#ifndef WG_DEFAULT_SERVICE +# define WG_DEFAULT_SERVICE "2003" +#endif + +#ifndef WG_DEFAULT_PROTOCOL +# define WG_DEFAULT_PROTOCOL "tcp" +#endif + +#ifndef WG_DEFAULT_LOG_SEND_ERRORS +# define WG_DEFAULT_LOG_SEND_ERRORS 1 +#endif + +#ifndef WG_DEFAULT_ESCAPE +# define WG_DEFAULT_ESCAPE '_' +#endif /* Ethernet - (IPv6 + TCP) = 1500 - (40 + 32) = 1428 */ -#define WG_SEND_BUF_SIZE 1428 +#ifndef WG_SEND_BUF_SIZE +# define WG_SEND_BUF_SIZE 1428 +#endif -#define WG_MIN_RECONNECT_INTERVAL TIME_T_TO_CDTIME_T (1) +#ifndef WG_MIN_RECONNECT_INTERVAL +# define WG_MIN_RECONNECT_INTERVAL TIME_T_TO_CDTIME_T (1) +#endif /* * Private variables @@ -548,6 +566,12 @@ static int wg_config_node (oconfig_item_t *ci) else if (strcasecmp ("AlwaysAppendDS", child->key) == 0) cf_util_get_flag (child, &cb->format_flags, GRAPHITE_ALWAYS_APPEND_DS); + else if (strcasecmp ("PreserveSeparator", child->key) == 0) + cf_util_get_flag (child, &cb->format_flags, + GRAPHITE_PRESERVE_SEPARATOR); + else if (strcasecmp ("DropDuplicateFields", child->key) == 0) + cf_util_get_flag (child, &cb->format_flags, + GRAPHITE_DROP_DUPE_FIELDS); else if (strcasecmp ("EscapeCharacter", child->key) == 0) config_set_char (&cb->escape_char, child); else @@ -575,15 +599,13 @@ static int wg_config_node (oconfig_item_t *ci) ssnprintf (callback_name, sizeof (callback_name), "write_graphite/%s", cb->name); - user_data_t ud = { - .data = cb, - .free_func = wg_callback_free - }; - - plugin_register_write (callback_name, wg_write, &ud); + plugin_register_write (callback_name, wg_write, + &(user_data_t) { + .data = cb, + .free_func = wg_callback_free, + }); - ud.free_func = NULL; - plugin_register_flush (callback_name, wg_flush, &ud); + plugin_register_flush (callback_name, wg_flush, &(user_data_t) { .data = cb }); return (0); }