X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fpinba.c;h=833fa1b8cdd4cc997363af376652748fe2dc49d1;hb=69b8a9a1af204685dfdfaf1279a0f2928e0bbb32;hp=d13d047b208aaab564889c4c3c24b570f2c92a68;hpb=43ef00c0eb99991902d3c9a5fbe582cde049b055;p=collectd.git diff --git a/src/pinba.c b/src/pinba.c index d13d047b..833fa1b8 100644 --- a/src/pinba.c +++ b/src/pinba.c @@ -28,7 +28,6 @@ #include "plugin.h" #include "configfile.h" -#include #include #include @@ -171,7 +170,7 @@ static void service_statnode_add(const char *name, /* {{{ */ const char *script) { pinba_statnode_t *node; - + node = realloc (stat_nodes, sizeof (*stat_nodes) * (stat_nodes_num + 1)); if (node == NULL) @@ -183,7 +182,7 @@ static void service_statnode_add(const char *name, /* {{{ */ node = stat_nodes + stat_nodes_num; memset (node, 0, sizeof (*node)); - + /* reset strings */ node->name = NULL; node->host = NULL; @@ -191,13 +190,13 @@ static void service_statnode_add(const char *name, /* {{{ */ node->script = NULL; node->mem_peak = NAN; - + /* fill query data */ strset (&node->name, name); strset (&node->host, host); strset (&node->server, server); strset (&node->script, script); - + /* increment counter */ stat_nodes_num++; } /* }}} void service_statnode_add */ @@ -209,14 +208,14 @@ static unsigned int service_statnode_collect (pinba_statnode_t *res, /* {{{ */ unsigned int index) { pinba_statnode_t *node; - + if (stat_nodes_num == 0) return 0; - + /* begin collecting */ if (index == 0) pthread_mutex_lock (&stat_nodes_lock); - + /* end collecting */ if (index >= stat_nodes_num) { @@ -229,7 +228,7 @@ static unsigned int service_statnode_collect (pinba_statnode_t *res, /* {{{ */ /* reset node */ node->mem_peak = NAN; - + return (index + 1); } /* }}} unsigned int service_statnode_collect */ @@ -255,7 +254,7 @@ static void service_process_request (Pinba__Request *request) /* {{{ */ unsigned int i; pthread_mutex_lock (&stat_nodes_lock); - + for (i = 0; i < stat_nodes_num; i++) { if ((stat_nodes[i].host != NULL) @@ -272,7 +271,7 @@ static void service_process_request (Pinba__Request *request) /* {{{ */ service_statnode_process(&stat_nodes[i], request); } - + pthread_mutex_unlock(&stat_nodes_lock); } /* }}} void service_process_request */ @@ -353,10 +352,9 @@ static pinba_socket_t *pinba_socket_open (const char *node, /* {{{ */ pinba_socket_t *s; struct addrinfo *ai_list; struct addrinfo *ai_ptr; - struct addrinfo ai_hints; + struct addrinfo ai_hints = { 0 }; int status; - memset (&ai_hints, 0, sizeof (ai_hints)); ai_hints.ai_flags = AI_PASSIVE; ai_hints.ai_family = AF_UNSPEC; ai_hints.ai_socktype = SOCK_DGRAM; @@ -381,14 +379,13 @@ static pinba_socket_t *pinba_socket_open (const char *node, /* {{{ */ } assert (ai_list != NULL); - s = malloc (sizeof (*s)); + s = calloc (1, sizeof (*s)); if (s == NULL) { freeaddrinfo (ai_list); - ERROR ("pinba plugin: malloc failed."); + ERROR ("pinba plugin: calloc failed."); return (NULL); } - memset (s, 0, sizeof (*s)); for (ai_ptr = ai_list; ai_ptr != NULL; ai_ptr = ai_ptr->ai_next) { @@ -396,7 +393,7 @@ static pinba_socket_t *pinba_socket_open (const char *node, /* {{{ */ if (status != 0) break; } /* for (ai_list) */ - + freeaddrinfo (ai_list); if (s->fd_num < 1) @@ -415,7 +412,7 @@ static void pinba_socket_free (pinba_socket_t *socket) /* {{{ */ if (!socket) return; - + for (i = 0; i < socket->fd_num; i++) { if (socket->fd[i].fd < 0) @@ -423,23 +420,23 @@ static void pinba_socket_free (pinba_socket_t *socket) /* {{{ */ close (socket->fd[i].fd); socket->fd[i].fd = -1; } - + sfree(socket); } /* }}} void pinba_socket_free */ static int pinba_process_stats_packet (const uint8_t *buffer, /* {{{ */ size_t buffer_size) { - Pinba__Request *request; - + Pinba__Request *request; + request = pinba__request__unpack (NULL, buffer_size, buffer); - + if (!request) return (-1); service_process_request(request); pinba__request__free_unpacked (request, NULL); - + return (0); } /* }}} int pinba_process_stats_packet */ @@ -610,7 +607,7 @@ static int pinba_config_view (const oconfig_item_t *ci) /* {{{ */ static int plugin_config (oconfig_item_t *ci) /* {{{ */ { int i; - + /* The lock should not be necessary in the config callback, but let's be * sure.. */ pthread_mutex_lock (&stat_nodes_lock); @@ -630,7 +627,7 @@ static int plugin_config (oconfig_item_t *ci) /* {{{ */ } pthread_mutex_unlock(&stat_nodes_lock); - + return (0); } /* }}} int pinba_config */ @@ -694,7 +691,7 @@ static int plugin_submit (const pinba_statnode_t *res) /* {{{ */ { value_t value; value_list_t vl = VALUE_LIST_INIT; - + vl.values = &value; vl.values_len = 1; sstrncpy (vl.host, hostname_g, sizeof (vl.host)); @@ -702,15 +699,15 @@ static int plugin_submit (const pinba_statnode_t *res) /* {{{ */ sstrncpy (vl.plugin_instance, res->name, sizeof (vl.plugin_instance)); value.derive = res->req_count; - sstrncpy (vl.type, "total_requests", sizeof (vl.type)); + sstrncpy (vl.type, "total_requests", sizeof (vl.type)); plugin_dispatch_values (&vl); value.derive = float_counter_get (&res->req_time, /* factor = */ 1000); - sstrncpy (vl.type, "total_time_in_ms", sizeof (vl.type)); + sstrncpy (vl.type, "total_time_in_ms", sizeof (vl.type)); plugin_dispatch_values (&vl); value.derive = res->doc_size; - sstrncpy (vl.type, "total_bytes", sizeof (vl.type)); + sstrncpy (vl.type, "total_bytes", sizeof (vl.type)); plugin_dispatch_values (&vl); value.derive = float_counter_get (&res->ru_utime, /* factor = */ 100); @@ -735,12 +732,12 @@ static int plugin_read (void) /* {{{ */ { unsigned int i=0; pinba_statnode_t data; - + while ((i = service_statnode_collect (&data, i)) != 0) { plugin_submit (&data); } - + return 0; } /* }}} int plugin_read */