X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fvserver.c;h=7b83c6174a830a0da933f4bd0c90f1c1180b67a3;hb=9d5a7847b03d78a94b6a0b153abeb630b4b94ddd;hp=00a1e6ad49ca671839e1823bd42d3200e700c493;hpb=b5036c00467038f0e486989235cdb1aaf09a642d;p=collectd.git diff --git a/src/vserver.c b/src/vserver.c index 00a1e6ad..7b83c617 100644 --- a/src/vserver.c +++ b/src/vserver.c @@ -4,8 +4,7 @@ * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. + * Free Software Foundation; only version 2 of the license is applicable. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -25,78 +24,16 @@ #include "plugin.h" #include -#include -#include -#include -#include #include -#include #define BUFSIZE 512 -#define MODULE_NAME "vserver" #define PROCDIR "/proc/virtual" -#if defined(KERNEL_LINUX) -# define VSERVER_HAVE_READ 1 -#else -# define VSERVER_HAVE_READ 0 -#endif /* defined(KERNEL_LINUX) */ +#if !KERNEL_LINUX +# error "No applicable input method." +#endif -static data_source_t octets_dsrc[2] = -{ - {"rx", DS_TYPE_COUNTER, 0, 4294967295.0}, - {"tx", DS_TYPE_COUNTER, 0, 4294967295.0} -}; - -static data_set_t octets_ds = -{ - "if_octets", 2, octets_dsrc -}; - -static data_source_t load_dsrc[3] = -{ - {"shortterm", DS_TYPE_GAUGE, 0.0, 100.0}, - {"midterm", DS_TYPE_GAUGE, 0.0, 100.0}, - {"longterm", DS_TYPE_GAUGE, 0.0, 100.0} -}; - -static data_set_t load_ds = -{ - "load", 3, load_dsrc -}; - -static data_source_t threads_dsrc[1] = -{ - {"value", DS_TYPE_GAUGE, 0.0, 65535.0} -}; - -static data_set_t threads_ds = -{ - "vs_threads", 1, threads_dsrc -}; - -static data_source_t processes_dsrc[1] = -{ - {"value", DS_TYPE_GAUGE, 0.0, 65535.0} -}; - -static data_set_t processes_ds = -{ - "vs_processes", 1, processes_dsrc -}; - -static data_source_t memory_dsrc[1] = -{ - {"value", DS_TYPE_GAUGE, 0.0, 9223372036854775807.0} -}; - -static data_set_t memory_ds = -{ - "vs_memory", 1, memory_dsrc -}; - -#if VSERVER_HAVE_READ static int pagesize = 0; static int vserver_init (void) @@ -183,17 +120,14 @@ static int vserver_read (void) DIR *proc; struct dirent *dent; /* 42 */ - static complain_t complain_obj; - errno = 0; if (NULL == (proc = opendir (PROCDIR))) { - plugin_complain (LOG_ERR, &complain_obj, "vserver plugin: " - "fopen (%s) failed: %s", PROCDIR, strerror (errno)); + char errbuf[1024]; + ERROR ("vserver plugin: fopen (%s): %s", PROCDIR, + sstrerror (errno, errbuf, sizeof (errbuf))); return (-1); } - plugin_relief (LOG_NOTICE, &complain_obj, "vserver plugin: " - "fopen (%s) succeeded.", PROCDIR); while (NULL != (dent = readdir (proc))) { @@ -218,7 +152,11 @@ static int vserver_read (void) continue; if (NULL == (fh = fopen (file, "r"))) - syslog (LOG_ERR, "Cannot open '%s': %s", file, strerror (errno)); + { + char errbuf[1024]; + ERROR ("Cannot open '%s': %s", file, + sstrerror (errno, errbuf, sizeof (errbuf))); + } while ((fh != NULL) && (NULL != fgets (buffer, BUFSIZE, fh))) { @@ -261,7 +199,11 @@ static int vserver_read (void) continue; if (NULL == (fh = fopen (file, "r"))) - syslog (LOG_ERR, "Cannot open '%s': %s", file, strerror (errno)); + { + char errbuf[1024]; + ERROR ("Cannot open '%s': %s", file, + sstrerror (errno, errbuf, sizeof (errbuf))); + } while ((fh != NULL) && (NULL != fgets (buffer, BUFSIZE, fh))) { @@ -309,7 +251,11 @@ static int vserver_read (void) continue; if (NULL == (fh = fopen (file, "r"))) - syslog (LOG_ERR, "Cannot open '%s': %s", file, strerror (errno)); + { + char errbuf[1024]; + ERROR ("Cannot open '%s': %s", file, + sstrerror (errno, errbuf, sizeof (errbuf))); + } while ((fh != NULL) && (NULL != fgets (buffer, BUFSIZE, fh))) { @@ -356,20 +302,11 @@ static int vserver_read (void) return (0); } /* int vserver_read */ -#endif /* VSERVER_HAVE_READ */ void module_register (void) { - plugin_register_data_set (&octets_ds); - plugin_register_data_set (&load_ds); - plugin_register_data_set (&threads_ds); - plugin_register_data_set (&processes_ds); - plugin_register_data_set (&memory_ds); - -#if VSERVER_HAVE_READ plugin_register_init ("vserver", vserver_init); plugin_register_read ("vserver", vserver_read); -#endif /* VSERVER_HAVE_READ */ } /* void module_register(void) */ /* vim: set ts=4 sw=4 noexpandtab : */