add comments and added/changed options that can be passed to collectd.
authorniki <niki>
Thu, 15 Dec 2005 12:11:40 +0000 (12:11 +0000)
committerniki <niki>
Thu, 15 Dec 2005 12:11:40 +0000 (12:11 +0000)
src/Makefile.am
src/collectd.c
src/collectd.h
src/quota_mnt.c
src/quota_plugin.c
src/quota_plugin.h
src/utils_debug.c

index fe1076b..11a0862 100644 (file)
@@ -11,7 +11,11 @@ collectd_SOURCES = collectd.c collectd.h \
                   multicast.c multicast.h \
                   plugin.c plugin.h
 #collectd_CFLAGS = -DPLUGINDIR='"$(pkglibdir)"'
-collectd_CPPFLAGS = -DLOCALSTATEDIR='"$(localstatedir)"' -DPLUGINDIR='"$(pkglibdir)"'
+collectd_CPPFLAGS =
+collectd_CPPFLAGS += -DSYSCONFDIR='"${sysconfdir}"'
+collectd_CPPFLAGS += -DPKGLOCALSTATEDIR='"${localstatedir}/${PACKAGE_NAME}"'
+collectd_CPPFLAGS += -DPIDFILE='"${localstatedir}/run/${PACKAGE_NAME}.pid"'
+collectd_CPPFLAGS += -DPLUGINDIR='"${pkglibdir}"'
 collectd_LDFLAGS = -export-dynamic
 collectd_CFLAGS = -Werror
 collectd_LDADD = $(LIBLTDL) "-dlopen" self
@@ -152,6 +156,7 @@ if BUILD_MODULE_USERS
 pkglib_LTLIBRARIES += users.la
 users_la_SOURCES = users.c users.h
 users_la_LDFLAGS = -module -avoid-version
+users_la_CFLAGS = -Werror
 collectd_LDADD += "-dlopen" users.la
 collectd_DEPENDENCIES += users.la
 endif
index 633d023..9932fd9 100644 (file)
@@ -120,15 +120,19 @@ void exit_usage (char *name)
                        
                        "Available options:\n"
                        "  General:\n"
-                       "    -d <dir>        Base directory to use.\n"
+                       "    -C <dir>        Configuration directory.\n"
                        "                    Default: %s\n"
-                       "    -P <dir>        Set the plugin-directory\n"
+                       "    -P <file>       PID File.\n"
                        "                    Default: %s\n"
-                       "    -f              Don't fork to the background\n"
+                       "    -M <dir>        Module/Plugin directory.\n"
+                       "                    Default: %s\n"
+                       "    -D <dir>        Data storage directory.\n"
+                       "                    Default: %s\n"
+                       "    -f              Don't fork to the background.\n"
 #ifdef HAVE_LIBRRD
-                       "    -l              Start in local mode (no network)\n"
-                       "    -c              Start in client (sender) mode\n"
-                       "    -s              Start in server (listener) mode\n"
+                       "    -l              Start in local mode (no network).\n"
+                       "    -c              Start in client (sender) mode.\n"
+                       "    -s              Start in server (listener) mode.\n"
 #endif /* HAVE_LIBRRD */
 #if COLLECT_PING
                        "  Ping:\n"
@@ -138,7 +142,7 @@ void exit_usage (char *name)
                        "\n%s %s, http://verplant.org/collectd/\n"
                        "by Florian octo Forster <octo@verplant.org>\n"
                        "for contributions see `AUTHORS'\n",
-                       PACKAGE, DATADIR, PLUGINDIR, PACKAGE, VERSION);
+                       PACKAGE, SYSCONFDIR, PIDFILE, PLUGINDIR, PKGLOCALSTATEDIR, PACKAGE, VERSION);
        exit (0);
 }
 
@@ -238,8 +242,10 @@ int main (int argc, char **argv)
        pid_t pid;
 #endif
 
-       char *plugindir = NULL;
-       char *basedir = DATADIR;
+       char *confdir = SYSCONFDIR;
+       char *pidfile =  PIDFILE;
+       char *plugindir = PLUGINDIR;
+       char *datadir = PKGLOCALSTATEDIR;
 
        int daemonize = 1;
 
@@ -247,19 +253,15 @@ int main (int argc, char **argv)
        operating_mode = MODE_LOCAL;
 #endif
        
-       /*
-        * open syslog
-        */
+       /* open syslog */
        openlog (PACKAGE, LOG_CONS | LOG_PID, LOG_DAEMON);
 
-       /*
-        * read options
-        */
+       /* read options */
        while (1)
        {
                int c;
 
-               c = getopt (argc, argv, "d:fP:h"
+               c = getopt (argc, argv, "C:P:M:D:fh"
 #if HAVE_LIBRRD
                                "csl"
 #endif /* HAVE_LIBRRD */
@@ -286,8 +288,17 @@ int main (int argc, char **argv)
                                operating_mode = MODE_LOCAL;
                                break;
 #endif /* HAVE_LIBRRD */
-                       case 'd':
-                               basedir = optarg;
+                       case 'C':
+                               confdir = optarg;
+                               break;
+                       case 'P':
+                               pidfile = optarg;
+                               break;
+                       case 'M':
+                               plugindir = optarg;
+                               break;
+                       case 'D':
+                               datadir = optarg;
                                break;
                        case 'f':
                                daemonize = 0;
@@ -300,10 +311,6 @@ int main (int argc, char **argv)
                                        fprintf (stderr, "Maximum of %i ping hosts reached.\n", MAX_PINGHOSTS);
                                break;
 #endif /* COLLECT_PING */
-                       case 'P':
-                               plugindir = optarg;
-                               break;
-
                        case 'h':
                        default:
                                exit_usage (argv[0]);
@@ -321,9 +328,9 @@ int main (int argc, char **argv)
                return (1);
        }
 
-       if (change_basedir (basedir))
+       if (change_basedir (datadir))
        {
-               fprintf (stderr, "Error: Unable to change to directory `%s'.\n", basedir);
+               fprintf (stderr, "Error: Unable to change to directory `%s'.\n", datadir);
                return (1);
        }
 
@@ -395,9 +402,7 @@ int main (int argc, char **argv)
 #endif
                start_client ();
 
-       /*
-        * close syslog
-        */
+       /* close syslog */
        syslog (LOG_INFO, "Exiting normally");
        closelog ();
 
index 1614483..0b63aa1 100644 (file)
 # include <ctype.h>
 #endif
 
+#if HAVE_SYSLOG
+# define syslog(...) syslog(__VA_ARGS__)
+# if HAVE_OPENLOG
+#  define openlog(...) openlog(__VA_ARGS__)
+# else
+#  define openlog(...) /**/
+# endif
+# if HAVE_CLOSELOG
+#  define closelog(...) closelog(__VA_ARGS__)
+# else
+#  define closelog(...) /**/
+# endif
+#else
+# define syslog(...) /**/
+# define openlog(...) /**/
+# define closelog(...) /**/
+#endif
+
 #ifndef HAVE_RRD_H
 #undef HAVE_LIBRRD
 #endif
 #include <statgrab.h>
 #endif
 
-#ifndef LOCALSTATEDIR
-#define LOCALSTATEDIR "/opt/collectd/var"
-#endif
-
-#ifndef DATADIR
-#define DATADIR LOCALSTATEDIR"/lib/collectd"
-#endif
-
-#ifndef PLUGINDIR
-#define PLUGINDIR "/opt/collectd/lib/collectd"
-#endif
-
-#ifndef PIDFILE
-#define PIDFILE LOCALSTATEDIR"/run/collectd.pid"
-#endif
-
 #define MODE_SERVER 0x01
 #define MODE_CLIENT 0x02
 #define MODE_LOCAL  0x03
index 53e1f99..ed42c76 100644 (file)
@@ -33,9 +33,8 @@
 
 
 
-/* *** *** ***   local functions   *** *** *** */
-
-
+/* *** *** *** ********************* *** *** *** */
+/* *** *** ***   private functions   *** *** *** */
 
 #if 0
 #if HAVE_GETMNTENT
index 6dac92c..eb39aed 100644 (file)
 
 #define MODULE_NAME "quota"
 
-/* *** *** ***   local constants   *** *** *** */
+/* *** *** *** ********************* *** *** *** */
+/* *** *** ***   private constants   *** *** *** */
 
 static const char *quota_filename_template = MODULE_NAME "-%s.rrd";
-
 static char *quota_ds_def[] =
 {
        "DS:blocks:GAUGE:25:0:U",
@@ -51,7 +51,13 @@ static char *quota_ds_def[] =
 };
 static const int quota_ds_num = 10;
 
-/* *** *** ***   local functions   *** *** *** */
+static void quota_submit(quota_t *q);
+static void quota_init(void);
+static void quota_read(void);
+static void quota_write(char *host, char *inst, char *val);
+
+/* *** *** *** ********************* *** *** *** */
+/* *** *** ***   private functions   *** *** *** */
 
 #define BUFSIZE 1024
 static void
@@ -70,6 +76,9 @@ quota_submit(quota_t *q)
                DBG("failed");
                return;
        }
+       /* quota-<type>-<name>-<id>-<path> */
+       /* quota-usrquota-niki-500-_img.rrd */
+       /* the '/' are converted to '_'... */
        n = name = (char *)smalloc(strlen(q->type) + 1 + strlen(q->name)
        + 1 + strlen(q->id) + 1 + strlen(q->dir) + 1);
        sstrncpy(n, q->type, strlen(q->type)+1);
@@ -100,13 +109,14 @@ quota_submit(quota_t *q)
 } /* static void quota_submit(quota_t *q) */
 #undef BUFSIZE
 
-/* *** *** ***   local plugin functions   *** *** *** */
+/* *** *** *** **************************** *** *** *** */
+/* *** *** ***   private plugin functions   *** *** *** */
 
 static void
 quota_init(void)
 {
        DBG_STARTFILE("quota debug file opened.");
-}
+} /* static void quota_init(void) */
 
 static void
 quota_read(void)
@@ -172,7 +182,7 @@ quota_read(void)
 
        quota_fs_freequota(quota);
        quota_mnt_freelist(list);
-}
+} /* static void quota_read(void) */
 
 static void
 quota_write(char *host, char *inst, char *val)
@@ -187,13 +197,14 @@ quota_write(char *host, char *inst, char *val)
        }
 
        rrd_update_file(host, file, val, quota_ds_def, quota_ds_num);
-}
+} /* static void quota_write(char *host, char *inst, char *val) */
 
-/* *** *** ***   global functions   *** *** *** */
+/* *** *** *** ******************** *** *** *** */
+/* *** *** ***   public functions   *** *** *** */
 
 void
 module_register(void)
 {
        plugin_register(MODULE_NAME, quota_init, quota_read, quota_write);
-}
+} /* void module_register(void) */
 
index 6dea2aa..cb64785 100644 (file)
@@ -24,8 +24,6 @@
 #if !COLLECTD_QUOTA_PLUGIN_H
 #define COLLECTD_QUOTA_PLUGIN_H 1
 
-#include "common.h"
-
 void module_register(void);
 
 #endif /* !COLLECTD_QUOTA_PLUGIN_H */
index db59525..5b1900d 100644 (file)
@@ -23,7 +23,6 @@
 #include "common.h"
 #include "utils_debug.h"
 
-/* *** *** ***   global variables   *** *** *** */
 #if COLLECT_DEBUG
 
 #define DEFAULT_FILENAME "collectd.log"
@@ -32,7 +31,7 @@ static void cu_vdebug(const char *file, int line, const char *func,
        const char *format, va_list ap);
 
 /* if preemptive threads are used, these vars need some sort of locking! */
-/* pth is non-preemptive, so no locking is necessary (?) */
+/* pth is non-preemptive, so no locking is necessary */
 static FILE *cu_debug_file = NULL;
 static char *cu_debug_filename = NULL;