#include "collectd.h"
-#include "common.h"
#include "plugin.h"
+#include "utils/common/common.h"
+#include "utils/ignorelist/ignorelist.h"
#include "utils_complain.h"
-#include "utils_ignorelist.h"
#include <libgen.h> /* for basename(3) */
#include <libvirt/libvirt.h>
"Instances",
"ExtraStats",
"PersistentNotification",
+
+ "ReportBlockDevices",
+ "ReportNetworkInterfaces",
NULL};
/* PersistentNotification is false by default */
static bool persistent_notification = false;
+static bool report_block_devices = true;
+static bool report_network_interfaces = true;
+
/* Thread used for handling libvirt notifications events */
static virt_notif_thread_t notif_thread;
ERROR(PLUGIN_NAME " plugin: %s failed: %s", (s), err->message); \
} while (0)
-char *metadata_get_hostname(virDomainPtr dom) {
+static char *metadata_get_hostname(virDomainPtr dom) {
const char *xpath_str = NULL;
if (hm_xpath == NULL)
xpath_str = "/instance/name/text()";
return 0;
}
+ if (strcasecmp(key, "ReportBlockDevices") == 0) {
+ report_block_devices = IS_TRUE(value);
+ return 0;
+ }
+
+ if (strcasecmp(key, "ReportNetworkInterfaces") == 0) {
+ report_network_interfaces = IS_TRUE(value);
+ return 0;
+ }
+
/* Unrecognised option. */
return -1;
}
return -1;
}
- virTypedParameterPtr params = calloc((size_t)nparams, sizeof(*params));
+ virTypedParameterPtr params = calloc(nparams, sizeof(*params));
if (params == NULL) {
ERROR("virt plugin: alloc(%i) for block=%s parameters failed.", nparams,
path);
int max_cpus = VIR_NODEINFO_MAXCPUS(nodeinfo);
int cpu_map_len = VIR_CPU_MAPLEN(max_cpus);
- virVcpuInfoPtr vinfo = calloc(nr_virt_cpu, sizeof(vinfo[0]));
+ virVcpuInfoPtr vinfo = calloc(nr_virt_cpu, sizeof(*vinfo));
if (vinfo == NULL) {
ERROR(PLUGIN_NAME " plugin: calloc failed.");
return -1;
return -1;
}
- virTypedParameterPtr param = calloc(nparams, sizeof(virTypedParameter));
+ virTypedParameterPtr param = calloc(nparams, sizeof(*param));
if (param == NULL) {
ERROR(PLUGIN_NAME " plugin: alloc(%i) for cpu parameters failed.", nparams);
return -1;
static int get_memory_stats(virDomainPtr domain) {
virDomainMemoryStatPtr minfo =
- calloc(VIR_DOMAIN_MEMORY_STAT_NR, sizeof(virDomainMemoryStatStruct));
+ calloc(VIR_DOMAIN_MEMORY_STAT_NR, sizeof(*minfo));
if (minfo == NULL) {
- ERROR("virt plugin: malloc failed.");
+ ERROR("virt plugin: calloc failed.");
return -1;
}
goto cont;
/* Block devices. */
- lv_add_block_devices(state, dom, domname, xpath_ctx);
+ if (report_block_devices)
+ lv_add_block_devices(state, dom, domname, xpath_ctx);
/* Network interfaces. */
- lv_add_network_interfaces(state, dom, domname, xpath_ctx);
+ if (report_network_interfaces)
+ lv_add_network_interfaces(state, dom, domname, xpath_ctx);
cont:
if (xpath_ctx)