summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlya Mashchenko <ilya@netdata.cloud>2023-11-29 22:30:08 +0200
committerGitHub <noreply@github.com>2023-11-29 22:30:08 +0200
commitd77e3155be309e278a11a08abf8f517809b2c326 (patch)
tree7d1251374592852c0eb9c8a9af557dcf3db6c1d3
parent36714f9633f984600b53e85ff16b02fac3fe7e3d (diff)
diskspace/diskstats: don't create runtime disk config by default (#16503)
-rw-r--r--collectors/diskspace.plugin/plugin_diskspace.c14
-rw-r--r--collectors/proc.plugin/proc_diskstats.c52
2 files changed, 48 insertions, 18 deletions
diff --git a/collectors/diskspace.plugin/plugin_diskspace.c b/collectors/diskspace.plugin/plugin_diskspace.c
index 365ee3bfb7..4a69d18bd8 100644
--- a/collectors/diskspace.plugin/plugin_diskspace.c
+++ b/collectors/diskspace.plugin/plugin_diskspace.c
@@ -346,8 +346,6 @@ static inline void do_disk_space_stats(struct mountinfo *mi, int update_every) {
struct mount_point_metadata *m = dictionary_get(dict_mountpoints, mi->mount_point);
if(unlikely(!m)) {
int slow = 0;
- char var_name[4096 + 1];
- snprintfz(var_name, 4096, "plugin:proc:diskspace:%s", mi->mount_point);
int def_space = config_get_boolean_ondemand(CONFIG_SECTION_DISKSPACE, "space usage for all disks", CONFIG_BOOLEAN_AUTO);
int def_inodes = config_get_boolean_ondemand(CONFIG_SECTION_DISKSPACE, "inodes usage for all disks", CONFIG_BOOLEAN_AUTO);
@@ -398,8 +396,16 @@ static inline void do_disk_space_stats(struct mountinfo *mi, int update_every) {
slow = 1;
}
- do_space = config_get_boolean_ondemand(var_name, "space usage", def_space);
- do_inodes = config_get_boolean_ondemand(var_name, "inodes usage", def_inodes);
+ char var_name[4096 + 1];
+ snprintfz(var_name, 4096, "plugin:proc:diskspace:%s", mi->mount_point);
+
+ do_space = def_space;
+ do_inodes = def_inodes;
+
+ if (config_exists(var_name, "space usage"))
+ do_space = config_get_boolean_ondemand(var_name, "space usage", def_space);
+ if (config_exists(var_name, "inodes usage"))
+ do_inodes = config_get_boolean_ondemand(var_name, "inodes usage", def_inodes);
struct mount_point_metadata mp = {
.do_space = do_space,
diff --git a/collectors/proc.plugin/proc_diskstats.c b/collectors/proc.plugin/proc_diskstats.c
index 64257f9a01..2a664d68eb 100644
--- a/collectors/proc.plugin/proc_diskstats.c
+++ b/collectors/proc.plugin/proc_diskstats.c
@@ -601,7 +601,9 @@ static void get_disk_config(struct disk *d) {
char var_name[4096 + 1];
snprintfz(var_name, 4096, CONFIG_SECTION_PLUGIN_PROC_DISKSTATS ":%s", d->disk);
- def_enable = config_get_boolean_ondemand(var_name, "enable", def_enable);
+ if (config_exists(var_name, "enable"))
+ def_enable = config_get_boolean_ondemand(var_name, "enable", def_enable);
+
if(unlikely(def_enable == CONFIG_BOOLEAN_NO)) {
// the user does not want any metrics for this disk
d->do_io = CONFIG_BOOLEAN_NO;
@@ -653,7 +655,8 @@ static void get_disk_config(struct disk *d) {
// def_performance
// check the user configuration (this will also show our 'on demand' decision)
- def_performance = config_get_boolean_ondemand(var_name, "enable performance metrics", def_performance);
+ if (config_exists(var_name, "enable performance metrics"))
+ def_performance = config_get_boolean_ondemand(var_name, "enable performance metrics", def_performance);
int ddo_io = CONFIG_BOOLEAN_NO,
ddo_ops = CONFIG_BOOLEAN_NO,
@@ -680,19 +683,40 @@ static void get_disk_config(struct disk *d) {
d->excluded = true;
}
- d->do_io = config_get_boolean_ondemand(var_name, "bandwidth", ddo_io);
- d->do_ops = config_get_boolean_ondemand(var_name, "operations", ddo_ops);
- d->do_mops = config_get_boolean_ondemand(var_name, "merged operations", ddo_mops);
- d->do_iotime = config_get_boolean_ondemand(var_name, "i/o time", ddo_iotime);
- d->do_qops = config_get_boolean_ondemand(var_name, "queued operations", ddo_qops);
- d->do_util = config_get_boolean_ondemand(var_name, "utilization percentage", ddo_util);
- d->do_ext = config_get_boolean_ondemand(var_name, "extended operations", ddo_ext);
- d->do_backlog = config_get_boolean_ondemand(var_name, "backlog", ddo_backlog);
-
- if(d->device_is_bcache)
- d->do_bcache = config_get_boolean_ondemand(var_name, "bcache", ddo_bcache);
- else
+ d->do_io = ddo_io;
+ d->do_ops = ddo_ops;
+ d->do_mops = ddo_mops;
+ d->do_iotime = ddo_iotime;
+ d->do_qops = ddo_qops;
+ d->do_util = ddo_util;
+ d->do_ext = ddo_ext;
+ d->do_backlog = ddo_backlog;
+
+ if (config_exists(var_name, "bandwidth"))
+ d->do_io = config_get_boolean_ondemand(var_name, "bandwidth", ddo_io);
+ if (config_exists(var_name, "operations"))
+ d->do_ops = config_get_boolean_ondemand(var_name, "operations", ddo_ops);
+ if (config_exists(var_name, "merged operations"))
+ d->do_mops = config_get_boolean_ondemand(var_name, "merged operations", ddo_mops);
+ if (config_exists(var_name, "i/o time"))
+ d->do_iotime = config_get_boolean_ondemand(var_name, "i/o time", ddo_iotime);
+ if (config_exists(var_name, "queued operations"))
+ d->do_qops = config_get_boolean_ondemand(var_name, "queued operations", ddo_qops);
+ if (config_exists(var_name, "utilization percentage"))
+ d->do_util = config_get_boolean_ondemand(var_name, "utilization percentage", ddo_util);
+ if (config_exists(var_name, "extended operations"))
+ d->do_ext = config_get_boolean_ondemand(var_name, "extended operations", ddo_ext);
+ if (config_exists(var_name, "backlog"))
+ d->do_backlog = config_get_boolean_ondemand(var_name, "backlog", ddo_backlog);
+
+ d->do_bcache = ddo_bcache;
+
+ if (d->device_is_bcache) {
+ if (config_exists(var_name, "bcache"))
+ d->do_bcache = config_get_boolean_ondemand(var_name, "bcache", ddo_bcache);
+ } else {
d->do_bcache = 0;
+ }
}
}