@cryptotaxi247 / netdata-1 / commits / d77e3155b

diskspace/diskstats: don't create runtime disk config by default (#16503)

Ilya Mashchenko committed Nov 29, 2023 at 22:30 UTC d77e3155be309e278a11a08abf8f517809b2c326
2 files changed +48 -18
collectors/diskspace.plugin/plugin_diskspace.c
+10 -4
@@ -346,8 +346,6 @@ static inline void do_disk_space_stats(struct mountinfo *mi, int update_every) {
346 struct mount_point_metadata *m = dictionary_get(dict_mountpoints, mi->mount_point);
347 if(unlikely(!m)) {
348 int slow = 0;
349 - char var_name[4096 + 1];
350 - snprintfz(var_name, 4096, "plugin:proc:diskspace:%s", mi->mount_point);
349
350 int def_space = config_get_boolean_ondemand(CONFIG_SECTION_DISKSPACE, "space usage for all disks", CONFIG_BOOLEAN_AUTO);
351 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) {
396 slow = 1;
397 }
398
401 - do_space = config_get_boolean_ondemand(var_name, "space usage", def_space);
402 - do_inodes = config_get_boolean_ondemand(var_name, "inodes usage", def_inodes);
399 + char var_name[4096 + 1];
400 + snprintfz(var_name, 4096, "plugin:proc:diskspace:%s", mi->mount_point);
401 +
402 + do_space = def_space;
403 + do_inodes = def_inodes;
404 +
405 + if (config_exists(var_name, "space usage"))
406 + do_space = config_get_boolean_ondemand(var_name, "space usage", def_space);
407 + if (config_exists(var_name, "inodes usage"))
408 + do_inodes = config_get_boolean_ondemand(var_name, "inodes usage", def_inodes);
409
410 struct mount_point_metadata mp = {
411 .do_space = do_space,
collectors/proc.plugin/proc_diskstats.c
+38 -14
@@ -601,7 +601,9 @@ static void get_disk_config(struct disk *d) {
601 char var_name[4096 + 1];
602 snprintfz(var_name, 4096, CONFIG_SECTION_PLUGIN_PROC_DISKSTATS ":%s", d->disk);
603
604 - def_enable = config_get_boolean_ondemand(var_name, "enable", def_enable);
604 + if (config_exists(var_name, "enable"))
605 + def_enable = config_get_boolean_ondemand(var_name, "enable", def_enable);
606 +
607 if(unlikely(def_enable == CONFIG_BOOLEAN_NO)) {
608 // the user does not want any metrics for this disk
609 d->do_io = CONFIG_BOOLEAN_NO;
@@ -653,7 +655,8 @@ static void get_disk_config(struct disk *d) {
655
656 // def_performance
657 // check the user configuration (this will also show our 'on demand' decision)
656 - def_performance = config_get_boolean_ondemand(var_name, "enable performance metrics", def_performance);
658 + if (config_exists(var_name, "enable performance metrics"))
659 + def_performance = config_get_boolean_ondemand(var_name, "enable performance metrics", def_performance);
660
661 int ddo_io = CONFIG_BOOLEAN_NO,
662 ddo_ops = CONFIG_BOOLEAN_NO,
@@ -680,19 +683,40 @@ static void get_disk_config(struct disk *d) {
683 d->excluded = true;
684 }
685
683 - d->do_io = config_get_boolean_ondemand(var_name, "bandwidth", ddo_io);
684 - d->do_ops = config_get_boolean_ondemand(var_name, "operations", ddo_ops);
685 - d->do_mops = config_get_boolean_ondemand(var_name, "merged operations", ddo_mops);
686 - d->do_iotime = config_get_boolean_ondemand(var_name, "i/o time", ddo_iotime);
687 - d->do_qops = config_get_boolean_ondemand(var_name, "queued operations", ddo_qops);
688 - d->do_util = config_get_boolean_ondemand(var_name, "utilization percentage", ddo_util);
689 - d->do_ext = config_get_boolean_ondemand(var_name, "extended operations", ddo_ext);
690 - d->do_backlog = config_get_boolean_ondemand(var_name, "backlog", ddo_backlog);
691 -
692 - if(d->device_is_bcache)
693 - d->do_bcache = config_get_boolean_ondemand(var_name, "bcache", ddo_bcache);
694 - else
686 + d->do_io = ddo_io;
687 + d->do_ops = ddo_ops;
688 + d->do_mops = ddo_mops;
689 + d->do_iotime = ddo_iotime;
690 + d->do_qops = ddo_qops;
691 + d->do_util = ddo_util;
692 + d->do_ext = ddo_ext;
693 + d->do_backlog = ddo_backlog;
694 +
695 + if (config_exists(var_name, "bandwidth"))
696 + d->do_io = config_get_boolean_ondemand(var_name, "bandwidth", ddo_io);
697 + if (config_exists(var_name, "operations"))
698 + d->do_ops = config_get_boolean_ondemand(var_name, "operations", ddo_ops);
699 + if (config_exists(var_name, "merged operations"))
700 + d->do_mops = config_get_boolean_ondemand(var_name, "merged operations", ddo_mops);
701 + if (config_exists(var_name, "i/o time"))
702 + d->do_iotime = config_get_boolean_ondemand(var_name, "i/o time", ddo_iotime);
703 + if (config_exists(var_name, "queued operations"))
704 + d->do_qops = config_get_boolean_ondemand(var_name, "queued operations", ddo_qops);
705 + if (config_exists(var_name, "utilization percentage"))
706 + d->do_util = config_get_boolean_ondemand(var_name, "utilization percentage", ddo_util);
707 + if (config_exists(var_name, "extended operations"))
708 + d->do_ext = config_get_boolean_ondemand(var_name, "extended operations", ddo_ext);
709 + if (config_exists(var_name, "backlog"))
710 + d->do_backlog = config_get_boolean_ondemand(var_name, "backlog", ddo_backlog);
711 +
712 + d->do_bcache = ddo_bcache;
713 +
714 + if (d->device_is_bcache) {
715 + if (config_exists(var_name, "bcache"))
716 + d->do_bcache = config_get_boolean_ondemand(var_name, "bcache", ddo_bcache);
717 + } else {
718 d->do_bcache = 0;
719 + }
720 }
721 }
722