X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=src%2Fwrite_graphite.c;h=099c62bbaa7e8f8994aa401c806d9493f0876c0c;hp=13adff50fb23dd09a00694503b099e05a98afa38;hb=06a86a60a7dabc685bdbd81ce3d36ea5f7e2c2d4;hpb=6e216c190aa71359a9cdd2d610dfd8c2b912773d diff --git a/src/write_graphite.c b/src/write_graphite.c index 13adff50..099c62bb 100644 --- a/src/write_graphite.c +++ b/src/write_graphite.c @@ -65,7 +65,7 @@ #endif #ifndef WG_DEFAULT_LOG_SEND_ERRORS -#define WG_DEFAULT_LOG_SEND_ERRORS 1 +#define WG_DEFAULT_LOG_SEND_ERRORS true #endif #ifndef WG_DEFAULT_ESCAPE @@ -92,7 +92,7 @@ struct wg_callback { char *node; char *service; char *protocol; - _Bool log_send_errors; + bool log_send_errors; char *prefix; char *postfix; char escape_char; @@ -111,7 +111,7 @@ struct wg_callback { /* Force reconnect useful for load balanced environments */ cdtime_t last_reconnect_time; cdtime_t reconnect_interval; - _Bool reconnect_interval_reached; + bool reconnect_interval_reached; }; /* wg_force_reconnect_check closes cb->sock_fd when it was open for longer @@ -131,7 +131,7 @@ static void wg_force_reconnect_check(struct wg_callback *cb) { close(cb->sock_fd); cb->sock_fd = -1; cb->last_reconnect_time = now; - cb->reconnect_interval_reached = 1; + cb->reconnect_interval_reached = true; INFO("write_graphite plugin: Connection closed after %.3f seconds.", CDTIME_T_TO_DOUBLE(now - cb->last_reconnect_time)); @@ -151,25 +151,23 @@ static int wg_send_buffer(struct wg_callback *cb) { ssize_t status; if (cb->sock_fd < 0) - return (-1); + return -1; status = swrite(cb->sock_fd, cb->send_buf, strlen(cb->send_buf)); if (status != 0) { if (cb->log_send_errors) { - char errbuf[1024]; ERROR("write_graphite plugin: send to %s:%s (%s) failed with status %zi " "(%s)", - cb->node, cb->service, cb->protocol, status, - sstrerror(errno, errbuf, sizeof(errbuf))); + cb->node, cb->service, cb->protocol, status, STRERRNO); } close(cb->sock_fd); cb->sock_fd = -1; - return (-1); + return -1; } - return (0); + return 0; } /* NOTE: You must hold cb->send_lock when calling this function! */ @@ -177,7 +175,7 @@ static int wg_flush_nolock(cdtime_t timeout, struct wg_callback *cb) { int status; DEBUG("write_graphite plugin: wg_flush_nolock: timeout = %.3f; " - "send_buf_fill = %zu;", + "send_buf_fill = %" PRIsz ";", (double)timeout, cb->send_buf_fill); /* timeout == 0 => flush unconditionally */ @@ -186,18 +184,18 @@ static int wg_flush_nolock(cdtime_t timeout, struct wg_callback *cb) { now = cdtime(); if ((cb->send_buf_init_time + timeout) > now) - return (0); + return 0; } if (cb->send_buf_fill == 0) { cb->send_buf_init_time = cdtime(); - return (0); + return 0; } status = wg_send_buffer(cb); wg_reset_buffer(cb); - return (status); + return status; } static int wg_callback_init(struct wg_callback *cb) { @@ -208,13 +206,13 @@ static int wg_callback_init(struct wg_callback *cb) { char connerr[1024] = ""; if (cb->sock_fd > 0) - return (0); + return 0; /* Don't try to reconnect too often. By default, one reconnection attempt * is made per second. */ now = cdtime(); if ((now - cb->last_connect_time) < WG_MIN_RECONNECT_INTERVAL) - return (EAGAIN); + return EAGAIN; cb->last_connect_time = now; struct addrinfo ai_hints = {.ai_family = AF_UNSPEC, @@ -229,7 +227,7 @@ static int wg_callback_init(struct wg_callback *cb) { if (status != 0) { ERROR("write_graphite plugin: getaddrinfo (%s, %s, %s) failed: %s", cb->node, cb->service, cb->protocol, gai_strerror(status)); - return (-1); + return -1; } assert(ai_list != NULL); @@ -238,9 +236,7 @@ static int wg_callback_init(struct wg_callback *cb) { cb->sock_fd = socket(ai_ptr->ai_family, ai_ptr->ai_socktype, ai_ptr->ai_protocol); if (cb->sock_fd < 0) { - char errbuf[1024]; - snprintf(connerr, sizeof(connerr), "failed to open socket: %s", - sstrerror(errno, errbuf, sizeof(errbuf))); + snprintf(connerr, sizeof(connerr), "failed to open socket: %s", STRERRNO); continue; } @@ -248,10 +244,8 @@ static int wg_callback_init(struct wg_callback *cb) { status = connect(cb->sock_fd, ai_ptr->ai_addr, ai_ptr->ai_addrlen); if (status != 0) { - char errbuf[1024]; - snprintf(connerr, sizeof(connerr), "failed to connect to remote " - "host: %s", - sstrerror(errno, errbuf, sizeof(errbuf))); + snprintf(connerr, sizeof(connerr), "failed to connect to remote host: %s", + STRERRNO); close(cb->sock_fd); cb->sock_fd = -1; continue; @@ -263,14 +257,11 @@ static int wg_callback_init(struct wg_callback *cb) { freeaddrinfo(ai_list); if (cb->sock_fd < 0) { - if (connerr[0] == '\0') - /* this should not happen but try to get a message anyway */ - sstrerror(errno, connerr, sizeof(connerr)); c_complain(LOG_ERR, &cb->init_complaint, "write_graphite plugin: Connecting to %s:%s via %s failed. " "The last error was: %s", cb->node, cb->service, cb->protocol, connerr); - return (-1); + return -1; } else { c_release(LOG_INFO, &cb->init_complaint, "write_graphite plugin: Successfully connected to %s:%s via %s.", @@ -283,9 +274,9 @@ static int wg_callback_init(struct wg_callback *cb) { if (!cb->reconnect_interval_reached || (cb->send_buf_free == 0)) wg_reset_buffer(cb); else - cb->reconnect_interval_reached = 0; + cb->reconnect_interval_reached = false; - return (0); + return 0; } static void wg_callback_free(void *data) { @@ -325,7 +316,7 @@ static int wg_flush(cdtime_t timeout, int status; if (user_data == NULL) - return (-EINVAL); + return -EINVAL; cb = user_data->data; @@ -336,14 +327,14 @@ static int wg_flush(cdtime_t timeout, if (status != 0) { /* An error message has already been printed. */ pthread_mutex_unlock(&cb->send_lock); - return (-1); + return -1; } } status = wg_flush_nolock(timeout, cb); pthread_mutex_unlock(&cb->send_lock); - return (status); + return status; } static int wg_send_message(char const *message, struct wg_callback *cb) { @@ -361,7 +352,7 @@ static int wg_send_message(char const *message, struct wg_callback *cb) { if (status != 0) { /* An error message has already been printed. */ pthread_mutex_unlock(&cb->send_lock); - return (-1); + return -1; } } @@ -369,7 +360,7 @@ static int wg_send_message(char const *message, struct wg_callback *cb) { status = wg_flush_nolock(/* timeout = */ 0, cb); if (status != 0) { pthread_mutex_unlock(&cb->send_lock); - return (status); + return status; } } @@ -382,7 +373,8 @@ static int wg_send_message(char const *message, struct wg_callback *cb) { cb->send_buf_fill += message_len; cb->send_buf_free -= message_len; - DEBUG("write_graphite plugin: [%s]:%s (%s) buf %zu/%zu (%.1f %%) \"%s\"", + DEBUG("write_graphite plugin: [%s]:%s (%s) buf %" PRIsz "/%" PRIsz + " (%.1f %%) \"%s\"", cb->node, cb->service, cb->protocol, cb->send_buf_fill, sizeof(cb->send_buf), 100.0 * ((double)cb->send_buf_fill) / ((double)sizeof(cb->send_buf)), @@ -390,7 +382,7 @@ static int wg_send_message(char const *message, struct wg_callback *cb) { pthread_mutex_unlock(&cb->send_lock); - return (0); + return 0; } static int wg_write_messages(const data_set_t *ds, const value_list_t *vl, @@ -407,14 +399,14 @@ static int wg_write_messages(const data_set_t *ds, const value_list_t *vl, status = format_graphite(buffer, sizeof(buffer), ds, vl, cb->prefix, cb->postfix, cb->escape_char, cb->format_flags); if (status != 0) /* error message has been printed already. */ - return (status); + return status; /* Send the message to graphite */ status = wg_send_message(buffer, cb); if (status != 0) /* error message has been printed already. */ - return (status); + return status; - return (0); + return 0; } /* int wg_write_messages */ static int wg_write(const data_set_t *ds, const value_list_t *vl, @@ -423,13 +415,13 @@ static int wg_write(const data_set_t *ds, const value_list_t *vl, int status; if (user_data == NULL) - return (EINVAL); + return EINVAL; cb = user_data->data; status = wg_write_messages(ds, vl, cb); - return (status); + return status; } static int config_set_char(char *dest, oconfig_item_t *ci) { @@ -438,12 +430,12 @@ static int config_set_char(char *dest, oconfig_item_t *ci) { status = cf_util_get_string_buffer(ci, buffer, sizeof(buffer)); if (status != 0) - return (status); + return status; if (buffer[0] == 0) { ERROR("write_graphite plugin: Cannot use an empty string for the " "\"EscapeCharacter\" option."); - return (-1); + return -1; } if (buffer[1] != 0) { @@ -454,7 +446,7 @@ static int config_set_char(char *dest, oconfig_item_t *ci) { *dest = buffer[0]; - return (0); + return 0; } static int wg_config_node(oconfig_item_t *ci) { @@ -465,7 +457,7 @@ static int wg_config_node(oconfig_item_t *ci) { cb = calloc(1, sizeof(*cb)); if (cb == NULL) { ERROR("write_graphite plugin: calloc failed."); - return (-1); + return -1; } cb->sock_fd = -1; cb->name = NULL; @@ -474,7 +466,7 @@ static int wg_config_node(oconfig_item_t *ci) { cb->protocol = strdup(WG_DEFAULT_PROTOCOL); cb->last_reconnect_time = cdtime(); cb->reconnect_interval = 0; - cb->reconnect_interval_reached = 0; + cb->reconnect_interval_reached = false; cb->log_send_errors = WG_DEFAULT_LOG_SEND_ERRORS; cb->prefix = NULL; cb->postfix = NULL; @@ -486,7 +478,7 @@ static int wg_config_node(oconfig_item_t *ci) { status = cf_util_get_string(ci, &cb->name); if (status != 0) { wg_callback_free(cb); - return (status); + return status; } } @@ -541,16 +533,16 @@ static int wg_config_node(oconfig_item_t *ci) { if (status != 0) { wg_callback_free(cb); - return (status); + return status; } /* FIXME: Legacy configuration syntax. */ if (cb->name == NULL) - ssnprintf(callback_name, sizeof(callback_name), "write_graphite/%s/%s/%s", - cb->node, cb->service, cb->protocol); + snprintf(callback_name, sizeof(callback_name), "write_graphite/%s/%s/%s", + cb->node, cb->service, cb->protocol); else - ssnprintf(callback_name, sizeof(callback_name), "write_graphite/%s", - cb->name); + snprintf(callback_name, sizeof(callback_name), "write_graphite/%s", + cb->name); plugin_register_write(callback_name, wg_write, &(user_data_t){ @@ -559,7 +551,7 @@ static int wg_config_node(oconfig_item_t *ci) { plugin_register_flush(callback_name, wg_flush, &(user_data_t){.data = cb}); - return (0); + return 0; } static int wg_config(oconfig_item_t *ci) { @@ -578,11 +570,9 @@ static int wg_config(oconfig_item_t *ci) { } } - return (0); + return 0; } void module_register(void) { plugin_register_complex_config("write_graphite", wg_config); } - -/* vim: set sw=4 ts=4 sts=4 tw=78 et : */