X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fhugepages.c;h=e066300beb799460f0b12b0f991740ef62983452;hb=48efd3deb4c9139fd060ff3d289896e9031bcc7c;hp=8a2ad6a025d37376910c45ccdf8f63f702714707;hpb=d191bd9ecabcc93fa52abf6ce59a914ca9fdca10;p=collectd.git diff --git a/src/hugepages.c b/src/hugepages.c index 8a2ad6a0..e066300b 100644 --- a/src/hugepages.c +++ b/src/hugepages.c @@ -25,20 +25,22 @@ * Authors: * Jaroslav Safka * Kim-Marie Jones + * Florian Forster */ #include "collectd.h" -#include "common.h" /* auxiliary functions */ -#include "plugin.h" /* plugin_register_*, plugin_dispatch_values */ + +#include "plugin.h" /* plugin_register_*, plugin_dispatch_values */ +#include "utils/common/common.h" /* auxiliary functions */ static const char g_plugin_name[] = "hugepages"; -static _Bool g_flag_rpt_numa = 1; -static _Bool g_flag_rpt_mm = 1; +static bool g_flag_rpt_numa = true; +static bool g_flag_rpt_mm = true; -static _Bool values_pages = 1; -static _Bool values_bytes = 0; -static _Bool values_percent = 0; +static bool g_values_pages = true; +static bool g_values_bytes; +static bool g_values_percent; #define HP_HAVE_NR 0x01 #define HP_HAVE_SURPLUS 0x02 @@ -64,33 +66,32 @@ static int hp_config(oconfig_item_t *ci) { else if (strcasecmp("ReportRootHP", child->key) == 0) cf_util_get_boolean(child, &g_flag_rpt_mm); else if (strcasecmp("ValuesPages", child->key) == 0) - cf_util_get_boolean(child, &values_pages); + cf_util_get_boolean(child, &g_values_pages); else if (strcasecmp("ValuesBytes", child->key) == 0) - cf_util_get_boolean(child, &values_bytes); + cf_util_get_boolean(child, &g_values_bytes); else if (strcasecmp("ValuesPercentage", child->key) == 0) - cf_util_get_boolean(child, &values_percent); + cf_util_get_boolean(child, &g_values_percent); else ERROR("%s: Invalid configuration option: \"%s\".", g_plugin_name, child->key); } - return (0); + return 0; } static void submit_hp(const struct entry_info *info) { value_list_t vl = VALUE_LIST_INIT; - vl.values = &(value_t) { .gauge = NAN }; + vl.values = &(value_t){.gauge = NAN}; vl.values_len = 1; - sstrncpy(vl.host, hostname_g, sizeof(vl.host)); sstrncpy(vl.plugin, g_plugin_name, sizeof(vl.plugin)); if (info->node) { - ssnprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%s-%zuKb", - info->node, info->page_size_kb); + snprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%s-%zuKb", + info->node, info->page_size_kb); } else { - ssnprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%zuKb", - info->page_size_kb); + snprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%zuKb", + info->page_size_kb); } /* ensure all metrics have the same timestamp */ @@ -99,22 +100,22 @@ static void submit_hp(const struct entry_info *info) { gauge_t free = info->free; gauge_t used = (info->nr + info->surplus) - info->free; - if (values_pages) { + if (g_values_pages) { sstrncpy(vl.type, "vmpage_number", sizeof(vl.type)); - plugin_dispatch_multivalue(&vl, /* store_percentage = */ 0, DS_TYPE_GAUGE, - "free", free, "used", used, NULL); + plugin_dispatch_multivalue(&vl, /* store_percentage = */ false, + DS_TYPE_GAUGE, "free", free, "used", used, NULL); } - if (values_bytes) { + if (g_values_bytes) { gauge_t page_size = (gauge_t)(1024 * info->page_size_kb); sstrncpy(vl.type, "memory", sizeof(vl.type)); - plugin_dispatch_multivalue(&vl, /* store_percentage = */ 0, DS_TYPE_GAUGE, - "free", free * page_size, "used", + plugin_dispatch_multivalue(&vl, /* store_percentage = */ false, + DS_TYPE_GAUGE, "free", free * page_size, "used", used * page_size, NULL); } - if (values_percent) { + if (g_values_percent) { sstrncpy(vl.type, "percent", sizeof(vl.type)); - plugin_dispatch_multivalue(&vl, /* store_percentage = */ 1, DS_TYPE_GAUGE, - "free", free, "used", used, NULL); + plugin_dispatch_multivalue(&vl, /* store_percentage = */ true, + DS_TYPE_GAUGE, "free", free, "used", used, NULL); } } @@ -124,7 +125,7 @@ static int read_hugepage_entry(const char *path, const char *entry, struct entry_info *info = e_info; double value; - ssnprintf(path2, sizeof(path2), "%s/%s", path, entry); + snprintf(path2, sizeof(path2), "%s/%s", path, entry); FILE *fh = fopen(path2, "rt"); if (fh == NULL) { @@ -184,15 +185,13 @@ static int read_syshugepages(const char *path, const char *node) { long page_size = strtol(result->d_name + strlen(hugepages_dir), /* endptr = */ NULL, /* base = */ 10); if (errno != 0) { - char errbuf[1024]; ERROR("%s: failed to determine page size from directory name \"%s\": %s", - g_plugin_name, result->d_name, - sstrerror(errno, errbuf, sizeof(errbuf))); + g_plugin_name, result->d_name, STRERRNO); continue; } /* /sys/devices/system/node/node?/hugepages/ */ - ssnprintf(path2, sizeof(path2), "%s/%s", path, result->d_name); + snprintf(path2, sizeof(path2), "%s/%s", path, result->d_name); walk_directory(path2, read_hugepage_entry, &(struct entry_info){ @@ -237,7 +236,7 @@ static int read_nodes(void) { continue; } - ssnprintf(path, sizeof(path), sys_node_hugepages, result->d_name); + snprintf(path, sizeof(path), sys_node_hugepages, result->d_name); read_syshugepages(path, result->d_name); errno = 0; }