* Authors:
* Jaroslav Safka <jaroslavx.safka@intel.com>
* Kim-Marie Jones <kim-marie.jones@intel.com>
+ * Florian Forster <octo at collectd.org>
*/
#include "collectd.h"
+
#include "common.h" /* auxiliary functions */
#include "plugin.h" /* plugin_register_*, plugin_dispatch_values */
static _Bool g_flag_rpt_numa = 1;
static _Bool g_flag_rpt_mm = 1;
-static _Bool values_pages = 1;
-static _Bool values_bytes = 0;
-static _Bool values_percent = 0;
+static _Bool g_values_pages = 1;
+static _Bool g_values_bytes = 0;
+static _Bool g_values_percent = 0;
#define HP_HAVE_NR 0x01
#define HP_HAVE_SURPLUS 0x02
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 */
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);
}
- 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",
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);
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) {
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){
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;
}