- sstrncpy (serv_addr.sun_path, st->socket,
- sizeof (serv_addr.sun_path));
+ sstrncpy(serv_addr.sun_path, st->socket, sizeof(serv_addr.sun_path));
- ERROR ("memcached plugin: memcached_connect_unix: socket(2) failed: %s",
- sstrerror (errno, errbuf, sizeof (errbuf)));
+ ERROR("memcached plugin: memcached_connect_unix: socket(2) failed: %s",
+ sstrerror(errno, errbuf, sizeof(errbuf)));
- int status = connect (fd, (struct sockaddr *)&serv_addr, sizeof(serv_addr));
- if (status != 0)
- {
- shutdown (fd, SHUT_RDWR);
- close (fd);
- fd = -1;
+ int status = connect(fd, (struct sockaddr *)&serv_addr, sizeof(serv_addr));
+ if (status != 0) {
+ shutdown(fd, SHUT_RDWR);
+ close(fd);
+ fd = -1;
host = (st->host != NULL) ? st->host : MEMCACHED_DEF_HOST;
port = (st->port != NULL) ? st->port : MEMCACHED_DEF_PORT;
host = (st->host != NULL) ? st->host : MEMCACHED_DEF_HOST;
port = (st->port != NULL) ? st->port : MEMCACHED_DEF_PORT;
- struct addrinfo ai_hints = {
- .ai_family = AF_UNSPEC,
- .ai_flags = AI_ADDRCONFIG,
- .ai_socktype = SOCK_STREAM
- };
+ struct addrinfo ai_hints = {.ai_family = AF_UNSPEC,
+ .ai_flags = AI_ADDRCONFIG,
+ .ai_socktype = SOCK_STREAM};
- status = getaddrinfo (host, port, &ai_hints, &ai_list);
- if (status != 0)
- {
+ status = getaddrinfo(host, port, &ai_hints, &ai_list);
+ if (status != 0) {
- ERROR ("memcached plugin: memcached_connect_inet: "
- "getaddrinfo(%s,%s) failed: %s",
- host, port,
- (status == EAI_SYSTEM)
- ? sstrerror (errno, errbuf, sizeof (errbuf))
- : gai_strerror (status));
+ ERROR("memcached plugin: memcached_connect_inet: "
+ "getaddrinfo(%s,%s) failed: %s",
+ host, port,
+ (status == EAI_SYSTEM) ? sstrerror(errno, errbuf, sizeof(errbuf))
+ : gai_strerror(status));
- WARNING ("memcached plugin: memcached_connect_inet: "
- "socket(2) failed: %s",
- sstrerror (errno, errbuf, sizeof (errbuf)));
+ WARNING("memcached plugin: memcached_connect_inet: "
+ "socket(2) failed: %s",
+ sstrerror(errno, errbuf, sizeof(errbuf)));
- status = (int) connect (fd, ai_ptr->ai_addr, ai_ptr->ai_addrlen);
- if (status != 0)
- {
- shutdown (fd, SHUT_RDWR);
- close (fd);
+ status = (int)connect(fd, ai_ptr->ai_addr, ai_ptr->ai_addrlen);
+ if (status != 0) {
+ shutdown(fd, SHUT_RDWR);
+ close(fd);
- ERROR ("memcached plugin: write(2) failed: %s",
- sstrerror (errno, errbuf, sizeof (errbuf)));
+ ERROR("memcached plugin: write(2) failed: %s",
+ sstrerror(errno, errbuf, sizeof(errbuf)));
- while ((status = (int) recv (fd, buffer + buffer_fill,
- buffer_size - buffer_fill, /* flags = */ 0)) != 0)
- {
+ while ((status = (int)recv(fd, buffer + buffer_fill,
+ buffer_size - buffer_fill, /* flags = */ 0)) !=
+ 0) {
char const end_token[5] = {'E', 'N', 'D', '\r', '\n'};
char const end_token[5] = {'E', 'N', 'D', '\r', '\n'};
- ERROR ("memcached: Error reading from socket: %s",
- sstrerror (errno, errbuf, sizeof (errbuf)));
+ ERROR("memcached: Error reading from socket: %s",
+ sstrerror(errno, errbuf, sizeof(errbuf)));
- if (memcmp (buffer + buffer_fill - sizeof (end_token),
- end_token, sizeof (end_token)) == 0)
+ if (memcmp(buffer + buffer_fill - sizeof(end_token), end_token,
+ sizeof(end_token)) == 0)
char const *host = st->host;
/* Set vl->host to hostname_g, if:
char const *host = st->host;
/* Set vl->host to hostname_g, if:
* - "Socket" option is given (doc: "Host option is ignored").
* - "Host" option is not provided.
* - "Host" option is set to "localhost" or "127.0.0.1". */
* - "Socket" option is given (doc: "Host option is ignored").
* - "Host" option is not provided.
* - "Host" option is set to "localhost" or "127.0.0.1". */
- if ((strcmp (st->name, "__legacy__") == 0)
- || (st->socket != NULL)
- || (st->host == NULL)
- || (strcmp ("127.0.0.1", st->host) == 0)
- || (strcmp ("localhost", st->host) == 0))
+ if ((strcmp(st->name, "__legacy__") == 0) || (st->socket != NULL) ||
+ (st->host == NULL) || (strcmp("127.0.0.1", st->host) == 0) ||
+ (strcmp("localhost", st->host) == 0))
- sstrncpy (vl->plugin, "memcached", sizeof (vl->plugin));
- sstrncpy (vl->host, host, sizeof (vl->host));
- if (strcmp (st->name, "__legacy__") != 0)
- sstrncpy (vl->plugin_instance, st->name, sizeof (vl->plugin_instance));
+ sstrncpy(vl->plugin, "memcached", sizeof(vl->plugin));
+ sstrncpy(vl->host, host, sizeof(vl->host));
+ if (strcmp(st->name, "__legacy__") != 0)
+ sstrncpy(vl->plugin_instance, st->name, sizeof(vl->plugin_instance));
-static void submit_derive (const char *type, const char *type_inst,
- derive_t value, memcached_t *st)
-{
+static void submit_derive(const char *type, const char *type_inst,
+ derive_t value, memcached_t *st) {
-static void submit_derive2 (const char *type, const char *type_inst,
- derive_t value0, derive_t value1, memcached_t *st)
-{
+static void submit_derive2(const char *type, const char *type_inst,
+ derive_t value0, derive_t value1, memcached_t *st) {
-static void submit_gauge (const char *type, const char *type_inst,
- gauge_t value, memcached_t *st)
-{
+static void submit_gauge(const char *type, const char *type_inst, gauge_t value,
+ memcached_t *st) {
-static void submit_gauge2 (const char *type, const char *type_inst,
- gauge_t value0, gauge_t value1, memcached_t *st)
-{
+static void submit_gauge2(const char *type, const char *type_inst,
+ gauge_t value0, gauge_t value1, memcached_t *st) {
-#define FIELD_IS(cnst) \
- (((sizeof(cnst) - 1) == name_len) && (strcmp (cnst, fields[1]) == 0))
+#define FIELD_IS(cnst) \
+ (((sizeof(cnst) - 1) == name_len) && (strcmp(cnst, fields[1]) == 0))
- if (FIELD_IS ("rusage_user"))
- {
- rusage_user = atoll (fields[2]);
- }
- else if (FIELD_IS ("rusage_system"))
- {
+ if (FIELD_IS("rusage_user")) {
+ rusage_user = atoll(fields[2]);
+ } else if (FIELD_IS("rusage_system")) {
- else if (FIELD_IS ("threads"))
- {
- submit_gauge2 ("ps_count", NULL, NAN, atof (fields[2]), st);
+ else if (FIELD_IS("threads")) {
+ submit_gauge2("ps_count", NULL, NAN, atof(fields[2]), st);
- else if (FIELD_IS ("curr_items"))
- {
- submit_gauge ("memcached_items", "current", atof (fields[2]), st);
+ else if (FIELD_IS("curr_items")) {
+ submit_gauge("memcached_items", "current", atof(fields[2]), st);
- else if (FIELD_IS ("bytes"))
- {
- bytes_used = atof (fields[2]);
- }
- else if (FIELD_IS ("limit_maxbytes"))
- {
+ else if (FIELD_IS("bytes")) {
+ bytes_used = atof(fields[2]);
+ } else if (FIELD_IS("limit_maxbytes")) {
- else if (FIELD_IS ("curr_connections"))
- {
- submit_gauge ("memcached_connections", "current", atof (fields[2]), st);
- }
- else if (FIELD_IS ("listen_disabled_num"))
- {
- submit_derive ("connections", "listen_disabled", atof (fields[2]), st);
+ else if (FIELD_IS("curr_connections")) {
+ submit_gauge("memcached_connections", "current", atof(fields[2]), st);
+ } else if (FIELD_IS("listen_disabled_num")) {
+ submit_derive("connections", "listen_disabled", atof(fields[2]), st);
- submit_derive ("memcached_command", name, atoll (fields[2]), st);
- if (strcmp (name, "get") == 0)
- gets = atof (fields[2]);
+ submit_derive("memcached_command", name, atoll(fields[2]), st);
+ if (strcmp(name, "get") == 0)
+ gets = atof(fields[2]);
- else if (FIELD_IS("incr_misses"))
- {
- derive_t incr_count = atoll (fields[2]);
- submit_derive ("memcached_ops", "incr_misses", incr_count, st);
+ else if (FIELD_IS("incr_misses")) {
+ derive_t incr_count = atoll(fields[2]);
+ submit_derive("memcached_ops", "incr_misses", incr_count, st);
- }
- else if (FIELD_IS ("incr_hits"))
- {
- derive_t incr_count = atoll (fields[2]);
- submit_derive ("memcached_ops", "incr_hits", incr_count, st);
- incr_hits = atof (fields[2]);
+ } else if (FIELD_IS("incr_hits")) {
+ derive_t incr_count = atoll(fields[2]);
+ submit_derive("memcached_ops", "incr_hits", incr_count, st);
+ incr_hits = atof(fields[2]);
- }
- else if (FIELD_IS ("decr_misses"))
- {
- derive_t decr_count = atoll (fields[2]);
- submit_derive ("memcached_ops", "decr_misses", decr_count, st);
+ } else if (FIELD_IS("decr_misses")) {
+ derive_t decr_count = atoll(fields[2]);
+ submit_derive("memcached_ops", "decr_misses", decr_count, st);
- }
- else if (FIELD_IS ("decr_hits"))
- {
- derive_t decr_count = atoll (fields[2]);
- submit_derive ("memcached_ops", "decr_hits", decr_count, st);
- decr_hits = atof (fields[2]);
+ } else if (FIELD_IS("decr_hits")) {
+ derive_t decr_count = atoll(fields[2]);
+ submit_derive("memcached_ops", "decr_hits", decr_count, st);
+ decr_hits = atof(fields[2]);
- else if (FIELD_IS ("get_hits"))
- {
- submit_derive ("memcached_ops", "hits", atoll (fields[2]), st);
- hits = atof (fields[2]);
- }
- else if (FIELD_IS ("get_misses"))
- {
- submit_derive ("memcached_ops", "misses", atoll (fields[2]), st);
- }
- else if (FIELD_IS ("evictions"))
- {
- submit_derive ("memcached_ops", "evictions", atoll (fields[2]), st);
+ else if (FIELD_IS("get_hits")) {
+ submit_derive("memcached_ops", "hits", atoll(fields[2]), st);
+ hits = atof(fields[2]);
+ } else if (FIELD_IS("get_misses")) {
+ submit_derive("memcached_ops", "misses", atoll(fields[2]), st);
+ } else if (FIELD_IS("evictions")) {
+ submit_derive("memcached_ops", "evictions", atoll(fields[2]), st);
- else if (FIELD_IS ("bytes_read"))
- {
- octets_rx = atoll (fields[2]);
- }
- else if (FIELD_IS ("bytes_written"))
- {
- octets_tx = atoll (fields[2]);
+ else if (FIELD_IS("bytes_read")) {
+ octets_rx = atoll(fields[2]);
+ } else if (FIELD_IS("bytes_written")) {
+ octets_tx = atoll(fields[2]);
- if (!isnan (bytes_used) && !isnan (bytes_total) && (bytes_used <= bytes_total))
- submit_gauge2 ("df", "cache", bytes_used, bytes_total - bytes_used, st);
+ if (!isnan(bytes_used) && !isnan(bytes_total) && (bytes_used <= bytes_total))
+ submit_gauge2("df", "cache", bytes_used, bytes_total - bytes_used, st);
- submit_derive2 ("ps_cputime", NULL, rusage_user, rusage_syst, st);
+ submit_derive2("ps_cputime", NULL, rusage_user, rusage_syst, st);
- submit_derive2 ("memcached_octets", NULL, octets_rx, octets_tx, st);
+ submit_derive2("memcached_octets", NULL, octets_rx, octets_tx, st);
- submit_gauge ("percent", "hitratio", rate, st);
+ submit_gauge("percent", "hitratio", rate, st);
- submit_gauge ("percent", "incr_hitratio", incr_rate, st);
- submit_derive ("memcached_ops", "incr", incr, st);
+ submit_gauge("percent", "incr_hitratio", incr_rate, st);
+ submit_derive("memcached_ops", "incr", incr, st);
- submit_gauge ("percent", "decr_hitratio", decr_rate, st);
- submit_derive ("memcached_ops", "decr", decr, st);
+ submit_gauge("percent", "decr_hitratio", decr_rate, st);
+ submit_derive("memcached_ops", "decr", decr, st);
-static int memcached_add_read_callback (memcached_t *st)
-{
- char callback_name[3*DATA_MAX_NAME_LEN];
+static int memcached_add_read_callback(memcached_t *st) {
+ char callback_name[3 * DATA_MAX_NAME_LEN];
- assert (st->name != NULL);
- ssnprintf (callback_name, sizeof (callback_name), "memcached/%s", st->name);
+ assert(st->name != NULL);
+ ssnprintf(callback_name, sizeof(callback_name), "memcached/%s", st->name);
- status = plugin_register_complex_read (/* group = */ "memcached",
- /* name = */ callback_name,
- /* callback = */ memcached_read,
- /* interval = */ 0,
- /* user_data = */ &ud);
+ status = plugin_register_complex_read(/* group = */ "memcached",
+ /* name = */ callback_name,
+ /* callback = */ memcached_read,
+ /* interval = */ 0,
+ /* user_data = */ &ud);
memcached_t *st;
int status = 0;
/* Disable automatic generation of default instance in the init callback. */
memcached_have_instances = 1;
memcached_t *st;
int status = 0;
/* Disable automatic generation of default instance in the init callback. */
memcached_have_instances = 1;
- st = calloc (1, sizeof (*st));
- if (st == NULL)
- {
- ERROR ("memcached plugin: calloc failed.");
+ st = calloc(1, sizeof(*st));
+ if (st == NULL) {
+ ERROR("memcached plugin: calloc failed.");
- if (strcasecmp (ci->key, "Plugin") == 0) /* default instance */
- st->name = sstrdup ("__legacy__");
+ if (strcasecmp(ci->key, "Plugin") == 0) /* default instance */
+ st->name = sstrdup("__legacy__");
- if (strcasecmp ("Socket", child->key) == 0)
- status = cf_util_get_string (child, &st->socket);
- else if (strcasecmp ("Host", child->key) == 0)
- status = cf_util_get_string (child, &st->host);
- else if (strcasecmp ("Port", child->key) == 0)
- status = cf_util_get_service (child, &st->port);
- else
- {
- WARNING ("memcached plugin: Option `%s' not allowed here.",
- child->key);
+ if (strcasecmp("Socket", child->key) == 0)
+ status = cf_util_get_string(child, &st->socket);
+ else if (strcasecmp("Host", child->key) == 0)
+ status = cf_util_get_string(child, &st->host);
+ else if (strcasecmp("Port", child->key) == 0)
+ status = cf_util_get_service(child, &st->port);
+ else {
+ WARNING("memcached plugin: Option `%s' not allowed here.", child->key);
- if (strcasecmp ("Instance", child->key) == 0)
- {
- config_add_instance (child);
+ if (strcasecmp("Instance", child->key) == 0) {
+ config_add_instance(child);
/* Non-instance option: Assume legacy configuration (without <Instance />
* blocks) and call config_add_instance() with the <Plugin /> block. */
/* Non-instance option: Assume legacy configuration (without <Instance />
* blocks) and call config_add_instance() with the <Plugin /> block. */
- return (config_add_instance (ci));
- }
- else
- WARNING ("memcached plugin: The configuration option "
- "\"%s\" is not allowed here. Did you "
- "forget to add an <Instance /> block "
- "around the configuration?",
- child->key);
+ return (config_add_instance(ci));
+ } else
+ WARNING("memcached plugin: The configuration option "
+ "\"%s\" is not allowed here. Did you "
+ "forget to add an <Instance /> block "
+ "around the configuration?",
+ child->key);
-void module_register (void)
-{
- plugin_register_complex_config ("memcached", memcached_config);
- plugin_register_init ("memcached", memcached_init);
+void module_register(void) {
+ plugin_register_complex_config("memcached", memcached_config);
+ plugin_register_init("memcached", memcached_init);