X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fswap.c;h=8c09e35f2f0246b43877b5fefd3d3062e6cd512f;hb=074b4980bc75bea6826e6a38dcc6e193a721b2a8;hp=f03a5a9ef930186ecf7e4461b795fff6918da039;hpb=79d36d9eb61ac09f253769feff144383b2b665c9;p=collectd.git diff --git a/src/swap.c b/src/swap.c index f03a5a9e..8c09e35f 100644 --- a/src/swap.c +++ b/src/swap.c @@ -36,26 +36,13 @@ # include #endif -#if KERNEL_LINUX || HAVE_LIBKSTAT || defined(VM_SWAPUSAGE) || HAVE_LIBKVM || HAVE_LIBSTATGRAB -# define SWAP_HAVE_READ 1 -#else -# define SWAP_HAVE_READ 0 +#if HAVE_STATGRAB_H +# include #endif #undef MAX #define MAX(x,y) ((x) > (y) ? (x) : (y)) -static data_source_t data_source[1] = -{ - {"value", DS_TYPE_GAUGE, 0, 1099511627776.0} -}; - -static data_set_t data_set = -{ - "swap", 1, data_source -}; - -#if SWAP_HAVE_READ #if KERNEL_LINUX /* No global variables */ /* #endif KERNEL_LINUX */ @@ -69,13 +56,17 @@ static kstat_t *ksp; /* No global variables */ /* #endif defined(VM_SWAPUSAGE) */ -#elif HAVE_LIBKVM +#elif HAVE_LIBKVM_GETSWAPINFO static kvm_t *kvm_obj = NULL; int kvm_pagesize; -/* #endif HAVE_LIBKVM */ +/* #endif HAVE_LIBKVM_GETSWAPINFO */ #elif HAVE_LIBSTATGRAB /* No global variables */ +/* #endif HAVE_LIBSTATGRAB */ + +#else +# error "No applicable input method." #endif /* HAVE_LIBSTATGRAB */ static int swap_init (void) @@ -95,7 +86,7 @@ static int swap_init (void) /* No init stuff */ /* #endif defined(VM_SWAPUSAGE) */ -#elif HAVE_LIBKVM +#elif HAVE_LIBKVM_GETSWAPINFO if (kvm_obj != NULL) { kvm_close (kvm_obj); @@ -111,10 +102,10 @@ static int swap_init (void) NULL)) /* errstr */ == NULL) { - syslog (LOG_ERR, "swap plugin: kvm_open failed."); + ERROR ("swap plugin: kvm_open failed."); return (-1); } -/* #endif HAVE_LIBKVM */ +/* #endif HAVE_LIBKVM_GETSWAPINFO */ #elif HAVE_LIBSTATGRAB /* No init stuff */ @@ -133,11 +124,12 @@ static void swap_submit (const char *type_instance, double value) vl.values = values; vl.values_len = 1; vl.time = time (NULL); - strcpy (vl.host, hostname); - strcpy (vl.plugin, "swap"); - strncpy (vl.type_instance, type_instance, sizeof (vl.type_instance)); + sstrncpy (vl.host, hostname_g, sizeof (vl.host)); + sstrncpy (vl.plugin, "swap", sizeof (vl.plugin)); + sstrncpy (vl.type, "swap", sizeof (vl.type)); + sstrncpy (vl.type_instance, type_instance, sizeof (vl.type_instance)); - plugin_dispatch_values ("swap", &vl); + plugin_dispatch_values (&vl); } /* void swap_submit */ static int swap_read (void) @@ -156,7 +148,9 @@ static int swap_read (void) if ((fh = fopen ("/proc/meminfo", "r")) == NULL) { - syslog (LOG_WARNING, "memory: fopen: %s", strerror (errno)); + char errbuf[1024]; + WARNING ("memory: fopen: %s", + sstrerror (errno, errbuf, sizeof (errbuf))); return (-1); } @@ -182,7 +176,11 @@ static int swap_read (void) } if (fclose (fh)) - syslog (LOG_WARNING, "memory: fclose: %s", strerror (errno)); + { + char errbuf[1024]; + WARNING ("memory: fclose: %s", + sstrerror (errno, errbuf, sizeof (errbuf))); + } if ((swap_total == 0LL) || ((swap_free + swap_cached) > swap_total)) return (-1); @@ -203,8 +201,9 @@ static int swap_read (void) if (swapctl (SC_AINFO, &ai) == -1) { - syslog (LOG_ERR, "swap plugin: swapctl failed: %s", - strerror (errno)); + char errbuf[1024]; + ERROR ("swap plugin: swapctl failed: %s", + sstrerror (errno, errbuf, sizeof (errbuf))); return (-1); } @@ -238,7 +237,7 @@ static int swap_read (void) swap_submit ("used", swap_alloc); swap_submit ("free", swap_avail); - swap_submit ("reserved", swap_resv - swap_alloc); + swap_submit ("reserved", swap_resv); /* #endif HAVE_LIBKSTAT */ #elif defined(VM_SWAPUSAGE) @@ -261,7 +260,7 @@ static int swap_read (void) swap_submit ("free", sw_usage.xsu_avail); /* #endif VM_SWAPUSAGE */ -#elif HAVE_LIBKVM +#elif HAVE_LIBKVM_GETSWAPINFO struct kvm_swap data_s; int status; @@ -287,7 +286,7 @@ static int swap_read (void) swap_submit ("used", used); swap_submit ("free", free); -/* #endif HAVE_LIBKVM */ +/* #endif HAVE_LIBKVM_GETSWAPINFO */ #elif HAVE_LIBSTATGRAB sg_swap_stats *swap; @@ -303,14 +302,9 @@ static int swap_read (void) return (0); } /* int swap_read */ -#endif /* SWAP_HAVE_READ */ void module_register (void) { - plugin_register_data_set (&data_set); - -#if SWAP_HAVE_READ plugin_register_init ("swap", swap_init); plugin_register_read ("swap", swap_read); -#endif /* SWAP_HAVE_READ */ -} +} /* void module_register */