X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fapache.c;h=2365d1ff15f344f53f8992129fa87dab96880da9;hb=12c1e32ec71ffd5d90af5df4b430fba04d91aed5;hp=973ad8656ef4f3c3b288ae1db04a46ae7ee63e27;hpb=2d897a731bd23f7a33b89e7b7e3004b6b26b5a94;p=collectd.git diff --git a/src/apache.c b/src/apache.c index 973ad865..2365d1ff 100644 --- a/src/apache.c +++ b/src/apache.c @@ -1,6 +1,6 @@ /** * collectd - src/apache.c - * Copyright (C) 2006 Florian octo Forster + * Copyright (C) 2006,2007 Florian octo Forster * Copyright (C) 2007 Florent EppO Monbillard * * This program is free software; you can redistribute it and/or modify it @@ -26,59 +26,9 @@ #include "common.h" #include "plugin.h" #include "configfile.h" -#include "utils_debug.h" - -#if HAVE_LIBCURL && HAVE_CURL_CURL_H -# define APACHE_HAVE_READ 1 -# include -#else -# define APACHE_HAVE_READ 0 -#endif - -/* Limit to 2^27 bytes/s. That's what a gigabit-ethernet link can handle, in - * theory. */ -static data_source_t apache_bytes_dsrc[1] = -{ - {"count", DS_TYPE_COUNTER, 0, 134217728.0}, -}; - -static data_set_t apache_bytes_ds = -{ - "apache_bytes", 1, apache_bytes_dsrc -}; - -/* Limit to 2^20 requests/s */ -static data_source_t apache_requests_dsrc[1] = -{ - {"count", DS_TYPE_COUNTER, 0, 134217728.0}, -}; - -static data_set_t apache_requests_ds = -{ - "apache_requests", 1, apache_requests_dsrc -}; - -static data_source_t apache_scoreboard_dsrc[1] = -{ - {"count", DS_TYPE_GAUGE, 0, 65535.0}, -}; - -static data_set_t apache_scoreboard_ds = -{ - "apache_scoreboard", 1, apache_scoreboard_dsrc -}; - -static data_source_t apache_connections_dsrc[1] = -{ - {"count", DS_TYPE_GAUGE, 0, 65535.0}, -}; -static data_set_t apache_connections_ds = -{ - "apache_connections", 1, apache_connections_dsrc -}; +#include -#if APACHE_HAVE_READ static char *url = NULL; static char *user = NULL; static char *pass = NULL; @@ -159,7 +109,7 @@ static int init (void) if ((curl = curl_easy_init ()) == NULL) { - syslog (LOG_ERR, "apache: `curl_easy_init' failed."); + ERROR ("apache: `curl_easy_init' failed."); return (-1); } @@ -171,7 +121,7 @@ static int init (void) { if (snprintf (credentials, 1024, "%s:%s", user, pass == NULL ? "" : pass) >= 1024) { - syslog (LOG_ERR, "apache: Credentials would have been truncated."); + ERROR ("apache: Credentials would have been truncated."); return (-1); } @@ -197,7 +147,7 @@ static void submit_counter (const char *type, const char *type_instance, value_t values[1]; value_list_t vl = VALUE_LIST_INIT; - DBG ("type = %s; type_instance = %s; value = %llu;", + DEBUG ("type = %s; type_instance = %s; value = %llu;", type, type_instance, value); values[0].counter = value; @@ -219,7 +169,7 @@ static void submit_gauge (const char *type, const char *type_instance, value_t values[1]; value_list_t vl = VALUE_LIST_INIT; - DBG ("type = %s; type_instance = %s; value = %lf;", + DEBUG ("type = %s; type_instance = %s; value = %lf;", type, type_instance, value); values[0].gauge = value; @@ -294,6 +244,7 @@ static int apache_read (void) int i; char *ptr; + char *saveptr; char *lines[16]; int lines_num = 0; @@ -308,13 +259,14 @@ static int apache_read (void) apache_buffer_len = 0; if (curl_easy_perform (curl) != 0) { - syslog (LOG_ERR, "apache: curl_easy_perform failed: %s", + ERROR ("apache: curl_easy_perform failed: %s", apache_curl_error); return (-1); } ptr = apache_buffer; - while ((lines[lines_num] = strtok (ptr, "\n\r")) != NULL) + saveptr = NULL; + while ((lines[lines_num] = strtok_r (ptr, "\n\r", &saveptr)) != NULL) { ptr = NULL; lines_num++; @@ -351,19 +303,11 @@ static int apache_read (void) return (0); } /* int apache_read */ -#endif /* APACHE_HAVE_READ */ void module_register (void) { - plugin_register_data_set (&apache_bytes_ds); - plugin_register_data_set (&apache_requests_ds); - plugin_register_data_set (&apache_scoreboard_ds); - plugin_register_data_set (&apache_connections_ds); - -#if APACHE_HAVE_READ plugin_register_config ("apache", config, config_keys, config_keys_num); plugin_register_init ("apache", init); plugin_register_read ("apache", apache_read); -#endif -} +} /* void module_register */