X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=src%2Fswap.c;h=61c9e2845c60a61e97a2cead10442bfd4e14a540;hp=78f05c5f968971ac961c3637935e6aaa7f55108c;hb=54619dc85fd308b21ed09a0271e5c7383c7921b9;hpb=461ea8f0de4ea5b6106e681c3436b02e59324f68 diff --git a/src/swap.c b/src/swap.c index 78f05c5f..61c9e284 100644 --- a/src/swap.c +++ b/src/swap.c @@ -37,8 +37,8 @@ #include "collectd.h" -#include "common.h" #include "plugin.h" +#include "utils/common/common.h" #if HAVE_SYS_SWAP_H #include @@ -74,14 +74,14 @@ #if KERNEL_LINUX #define SWAP_HAVE_REPORT_BY_DEVICE 1 static derive_t pagesize; -static _Bool report_bytes = 0; -static _Bool report_by_device = 0; +static bool report_bytes; +static bool report_by_device; /* #endif KERNEL_LINUX */ #elif HAVE_SWAPCTL && HAVE_SWAPCTL_TWO_ARGS #define SWAP_HAVE_REPORT_BY_DEVICE 1 static derive_t pagesize; -static _Bool report_by_device = 0; +static bool report_by_device; /* #endif HAVE_SWAPCTL && HAVE_SWAPCTL_TWO_ARGS */ #elif HAVE_SWAPCTL && HAVE_SWAPCTL_THREE_ARGS @@ -93,7 +93,7 @@ static _Bool report_by_device = 0; /* #endif defined(VM_SWAPUSAGE) */ #elif HAVE_LIBKVM_GETSWAPINFO -static kvm_t *kvm_obj = NULL; +static kvm_t *kvm_obj; int kvm_pagesize; /* #endif HAVE_LIBKVM_GETSWAPINFO */ @@ -109,9 +109,9 @@ static int pagesize; #error "No applicable input method." #endif /* HAVE_LIBSTATGRAB */ -static _Bool values_absolute = 1; -static _Bool values_percentage = 0; -static _Bool report_io = 1; +static bool values_absolute = true; +static bool values_percentage; +static bool report_io = true; static int swap_config(oconfig_item_t *ci) /* {{{ */ { @@ -150,12 +150,12 @@ static int swap_init(void) /* {{{ */ { #if KERNEL_LINUX pagesize = (derive_t)sysconf(_SC_PAGESIZE); -/* #endif KERNEL_LINUX */ + /* #endif KERNEL_LINUX */ #elif HAVE_SWAPCTL && HAVE_SWAPCTL_TWO_ARGS /* getpagesize(3C) tells me this does not fail.. */ pagesize = (derive_t)getpagesize(); -/* #endif HAVE_SWAPCTL */ + /* #endif HAVE_SWAPCTL */ #elif defined(VM_SWAPUSAGE) /* No init stuff */ @@ -177,7 +177,7 @@ static int swap_init(void) /* {{{ */ ERROR("swap plugin: kvm_openfiles failed, %s", errbuf); return -1; } -/* #endif HAVE_LIBKVM_GETSWAPINFO */ + /* #endif HAVE_LIBKVM_GETSWAPINFO */ #elif HAVE_LIBSTATGRAB /* No init stuff */ @@ -203,10 +203,10 @@ static void swap_submit_usage(char const *plugin_instance, /* {{{ */ sstrncpy(vl.type, "swap", sizeof(vl.type)); if (values_absolute) - plugin_dispatch_multivalue(&vl, 0, DS_TYPE_GAUGE, "used", used, "free", + plugin_dispatch_multivalue(&vl, false, DS_TYPE_GAUGE, "used", used, "free", free, other_name, other_value, NULL); if (values_percentage) - plugin_dispatch_multivalue(&vl, 1, DS_TYPE_GAUGE, "used", used, "free", + plugin_dispatch_multivalue(&vl, true, DS_TYPE_GAUGE, "used", used, "free", free, other_name, other_value, NULL); } /* }}} void swap_submit_usage */ @@ -234,9 +234,7 @@ static int swap_read_separate(void) /* {{{ */ fh = fopen("/proc/swaps", "r"); if (fh == NULL) { - char errbuf[1024]; - WARNING("swap plugin: fopen (/proc/swaps) failed: %s", - sstrerror(errno, errbuf, sizeof(errbuf))); + WARNING("swap plugin: fopen (/proc/swaps) failed: %s", STRERRNO); return -1; } @@ -291,9 +289,7 @@ static int swap_read_combined(void) /* {{{ */ fh = fopen("/proc/meminfo", "r"); if (fh == NULL) { - char errbuf[1024]; - WARNING("swap plugin: fopen (/proc/meminfo) failed: %s", - sstrerror(errno, errbuf, sizeof(errbuf))); + WARNING("swap plugin: fopen (/proc/meminfo) failed: %s", STRERRNO); return -1; } @@ -336,53 +332,31 @@ static int swap_read_combined(void) /* {{{ */ static int swap_read_io(void) /* {{{ */ { - FILE *fh; char buffer[1024]; - _Bool old_kernel = 0; - uint8_t have_data = 0; derive_t swap_in = 0; derive_t swap_out = 0; - fh = fopen("/proc/vmstat", "r"); + FILE *fh = fopen("/proc/vmstat", "r"); if (fh == NULL) { - /* /proc/vmstat does not exist in kernels <2.6 */ - fh = fopen("/proc/stat", "r"); - if (fh == NULL) { - char errbuf[1024]; - WARNING("swap: fopen: %s", sstrerror(errno, errbuf, sizeof(errbuf))); - return -1; - } else - old_kernel = 1; + WARNING("swap: fopen(/proc/vmstat): %s", STRERRNO); + return -1; } while (fgets(buffer, sizeof(buffer), fh) != NULL) { char *fields[8]; - int numfields; + int numfields = strsplit(buffer, fields, STATIC_ARRAY_SIZE(fields)); - numfields = strsplit(buffer, fields, STATIC_ARRAY_SIZE(fields)); + if (numfields != 2) + continue; - if (!old_kernel) { - if (numfields != 2) - continue; - - if (strcasecmp("pswpin", fields[0]) == 0) { - strtoderive(fields[1], &swap_in); - have_data |= 0x01; - } else if (strcasecmp("pswpout", fields[0]) == 0) { - strtoderive(fields[1], &swap_out); - have_data |= 0x02; - } - } else /* if (old_kernel) */ - { - if (numfields != 3) - continue; - - if (strcasecmp("page", fields[0]) == 0) { - strtoderive(fields[1], &swap_in); - strtoderive(fields[2], &swap_out); - } + if (strcasecmp("pswpin", fields[0]) == 0) { + strtoderive(fields[1], &swap_in); + have_data |= 0x01; + } else if (strcasecmp("pswpout", fields[0]) == 0) { + strtoderive(fields[1], &swap_out); + have_data |= 0x02; } } /* while (fgets) */ @@ -436,9 +410,7 @@ static int swap_read_kstat(void) /* {{{ */ struct anoninfo ai; if (swapctl(SC_AINFO, &ai) == -1) { - char errbuf[1024]; - ERROR("swap plugin: swapctl failed: %s", - sstrerror(errno, errbuf, sizeof(errbuf))); + ERROR("swap plugin: swapctl failed: %s", STRERRNO); return -1; } @@ -513,9 +485,7 @@ static int swap_read(void) /* {{{ */ status = swapctl(SC_LIST, s); if (status < 0) { - char errbuf[1024]; - ERROR("swap plugin: swapctl (SC_LIST) failed: %s", - sstrerror(errno, errbuf, sizeof(errbuf))); + ERROR("swap plugin: swapctl (SC_LIST) failed: %s", STRERRNO); sfree(s_paths); sfree(s); return -1; @@ -565,7 +535,7 @@ static int swap_read(void) /* {{{ */ return -1; } - /* If the "separate" option was specified (report_by_device == 1), all + /* If the "separate" option was specified (report_by_device == true) all * values have already been dispatched from within the loop. */ if (!report_by_device) swap_submit_usage(NULL, total - avail, avail, NULL, NAN); @@ -719,9 +689,7 @@ static int swap_read(void) /* {{{ */ status = perfstat_memory_total(NULL, &pmemory, sizeof(perfstat_memory_total_t), 1); if (status < 0) { - char errbuf[1024]; - WARNING("swap plugin: perfstat_memory_total failed: %s", - sstrerror(errno, errbuf, sizeof(errbuf))); + WARNING("swap plugin: perfstat_memory_total failed: %s", STRERRNO); return -1; }