summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornicolargo <nicolas@nicolargo.com>2019-08-17 11:21:20 +0200
committernicolargo <nicolas@nicolargo.com>2019-08-17 11:21:20 +0200
commitf0e8ef44f20db1d8ae77c179f08ff9325a41f946 (patch)
treee6484c8bd064458cff40494532ea83ef0ae310c9
parent504450ca3a6249c336bb43bf08486b854689ce5f (diff)
Refactor all the way config file is loaded (now by each plugin). Should solve issues #1508.
-rw-r--r--conf/glances.conf8
-rw-r--r--glances/plugins/glances_alert.py3
-rw-r--r--glances/plugins/glances_amps.py1
-rw-r--r--glances/plugins/glances_cloud.py4
-rw-r--r--glances/plugins/glances_core.py4
-rw-r--r--glances/plugins/glances_cpu.py6
-rw-r--r--glances/plugins/glances_diskio.py3
-rw-r--r--glances/plugins/glances_docker.py3
-rw-r--r--glances/plugins/glances_folders.py1
-rw-r--r--glances/plugins/glances_fs.py3
-rw-r--r--glances/plugins/glances_gpu.py3
-rw-r--r--glances/plugins/glances_help.py2
-rw-r--r--glances/plugins/glances_ip.py4
-rw-r--r--glances/plugins/glances_irq.py3
-rw-r--r--glances/plugins/glances_load.py3
-rw-r--r--glances/plugins/glances_mem.py3
-rw-r--r--glances/plugins/glances_memswap.py3
-rw-r--r--glances/plugins/glances_network.py3
-rw-r--r--glances/plugins/glances_now.py4
-rw-r--r--glances/plugins/glances_percpu.py3
-rw-r--r--glances/plugins/glances_plugin.py9
-rw-r--r--glances/plugins/glances_ports.py1
-rw-r--r--glances/plugins/glances_processcount.py3
-rw-r--r--glances/plugins/glances_processlist.py3
-rw-r--r--glances/plugins/glances_psutilversion.py4
-rw-r--r--glances/plugins/glances_quicklook.py3
-rw-r--r--glances/plugins/glances_raid.py4
-rw-r--r--glances/plugins/glances_sensors.py11
-rw-r--r--glances/plugins/glances_smart.py3
-rw-r--r--glances/plugins/glances_system.py4
-rw-r--r--glances/plugins/glances_uptime.py4
-rw-r--r--glances/plugins/glances_wifi.py3
-rw-r--r--glances/plugins/sensors/__init__.py0
-rw-r--r--glances/plugins/sensors/glances_batpercent.py (renamed from glances/plugins/glances_batpercent.py)3
-rw-r--r--glances/plugins/sensors/glances_hddtemp.py (renamed from glances/plugins/glances_hddtemp.py)13
-rw-r--r--glances/stats.py10
36 files changed, 89 insertions, 56 deletions
diff --git a/conf/glances.conf b/conf/glances.conf
index 87ae7660..07c6f0c7 100644
--- a/conf/glances.conf
+++ b/conf/glances.conf
@@ -188,15 +188,17 @@ critical=90
#folder_3_path=/nonexisting
#folder_4_path=/root
+[hddtemp]
+# Define hddtemp server IP and port (default is 127.0.0.1 and 7634 (TCP))
+host=127.0.0.1
+port=7634
+
[sensors]
# Sensors core thresholds (in Celsius...)
# Default values if not defined: 60/70/80
temperature_core_careful=60
temperature_core_warning=70
temperature_core_critical=80
-# Define hddtemp server IP and port (default is 127.0.0.1 and 7634 (TCP))
-hddtemp_host=127.0.0.1
-hddtemp_port=7634
# Temperatures threshold in °C for hddtemp
# Default values if not defined: 45/52/60
temperature_hdd_careful=45
diff --git a/glances/plugins/glances_alert.py b/glances/plugins/glances_alert.py
index 041433a9..1b987b88 100644
--- a/glances/plugins/glances_alert.py
+++ b/glances/plugins/glances_alert.py
@@ -88,9 +88,10 @@ class Plugin(GlancesPlugin):
Only for display.
"""
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the plugin."""
super(Plugin, self).__init__(args=args,
+ config=config,
stats_init_value=[])
# We want to display the stat in the curse interface
diff --git a/glances/plugins/glances_amps.py b/glances/plugins/glances_amps.py
index 24dc9b6b..2e176ffa 100644
--- a/glances/plugins/glances_amps.py
+++ b/glances/plugins/glances_amps.py
@@ -30,6 +30,7 @@ class Plugin(GlancesPlugin):
def __init__(self, args=None, config=None):
"""Init the plugin."""
super(Plugin, self).__init__(args=args,
+ config=config,
stats_init_value=[])
self.args = args
self.config = config
diff --git a/glances/plugins/glances_cloud.py b/glances/plugins/glances_cloud.py
index b45c0142..202c62ca 100644
--- a/glances/plugins/glances_cloud.py
+++ b/glances/plugins/glances_cloud.py
@@ -51,9 +51,9 @@ class Plugin(GlancesPlugin):
stats is a dict
"""
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the plugin."""
- super(Plugin, self).__init__(args=args)
+ super(Plugin, self).__init__(args=args, config=config)
# We want to display the stat in the curse interface
self.display_curse = True
diff --git a/glances/plugins/glances_core.py b/glances/plugins/glances_core.py
index 511953b2..bf1692e0 100644
--- a/glances/plugins/glances_core.py
+++ b/glances/plugins/glances_core.py
@@ -32,9 +32,9 @@ class Plugin(GlancesPlugin):
stats is integer (number of core)
"""
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the plugin."""
- super(Plugin, self).__init__(args=args)
+ super(Plugin, self).__init__(args=args, config=config)
# We dot not want to display the stat in the curse interface
# The core number is displayed by the load plugin
diff --git a/glances/plugins/glances_cpu.py b/glances/plugins/glances_cpu.py
index b7e98943..dc2f9e23 100644
--- a/glances/plugins/glances_cpu.py
+++ b/glances/plugins/glances_cpu.py
@@ -59,9 +59,11 @@ class Plugin(GlancesPlugin):
percentage.
"""
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the CPU plugin."""
- super(Plugin, self).__init__(args=args, items_history_list=items_history_list)
+ super(Plugin, self).__init__(args=args,
+ config=config,
+ items_history_list=items_history_list)
# We want to display the stat in the curse interface
self.display_curse = True
diff --git a/glances/plugins/glances_diskio.py b/glances/plugins/glances_diskio.py
index 0635115f..eb339d2d 100644
--- a/glances/plugins/glances_diskio.py
+++ b/glances/plugins/glances_diskio.py
@@ -42,9 +42,10 @@ class Plugin(GlancesPlugin):
stats is a list
"""
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the plugin."""
super(Plugin, self).__init__(args=args,
+ config=config,
items_history_list=items_history_list,
stats_init_value=[])
diff --git a/glances/plugins/glances_docker.py b/glances/plugins/glances_docker.py
index 3e628788..eaac481c 100644
--- a/glances/plugins/glances_docker.py
+++ b/glances/plugins/glances_docker.py
@@ -72,9 +72,10 @@ class Plugin(GlancesPlugin):
stats is a dict: {'version': {...}, 'containers': [{}, {}]}
"""
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the plugin."""
super(Plugin, self).__init__(args=args,
+ config=config,
items_history_list=items_history_list)
# The plgin can be disable using: args.disable_docker
diff --git a/glances/plugins/glances_folders.py b/glances/plugins/glances_folders.py
index 014343d6..49f822dc 100644
--- a/glances/plugins/glances_folders.py
+++ b/glances/plugins/glances_folders.py
@@ -34,6 +34,7 @@ class Plugin(GlancesPlugin):
def __init__(self, args=None, config=None):
"""Init the plugin."""
super(Plugin, self).__init__(args=args,
+ config=config,
stats_init_value=[])
self.args = args
self.config = config
diff --git a/glances/plugins/glances_fs.py b/glances/plugins/glances_fs.py
index 54e8f401..37a125d6 100644
--- a/glances/plugins/glances_fs.py
+++ b/glances/plugins/glances_fs.py
@@ -70,9 +70,10 @@ class Plugin(GlancesPlugin):
stats is a list
"""
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the plugin."""
super(Plugin, self).__init__(args=args,
+ config=config,
items_history_list=items_history_list,
stats_init_value=[])
diff --git a/glances/plugins/glances_gpu.py b/glances/plugins/glances_gpu.py
index ade03c83..77fd5bac 100644
--- a/glances/plugins/glances_gpu.py
+++ b/glances/plugins/glances_gpu.py
@@ -48,9 +48,10 @@ class Plugin(GlancesPlugin):
stats is a list of dictionaries with one entry per GPU
"""
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the plugin."""
super(Plugin, self).__init__(args=args,
+ config=config,
stats_init_value=[])
# Init the NVidia API
diff --git a/glances/plugins/glances_help.py b/glances/plugins/glances_help.py
index 9a705469..3bea6c20 100644
--- a/glances/plugins/glances_help.py
+++ b/glances/plugins/glances_help.py
@@ -32,7 +32,7 @@ class Plugin(GlancesPlugin):
def __init__(self, args=None, config=None):
"""Init the plugin."""
- super(Plugin, self).__init__(args=args)
+ super(Plugin, self).__init__(args=args, config=config)
# Set the config instance
self.config = config
diff --git a/glances/plugins/glances_ip.py b/glances/plugins/glances_ip.py
index 732d5c57..a84c7445 100644
--- a/glances/plugins/glances_ip.py
+++ b/glances/plugins/glances_ip.py
@@ -53,9 +53,9 @@ class Plugin(GlancesPlugin):
stats is a dict
"""
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the plugin."""
- super(Plugin, self).__init__(args=args)
+ super(Plugin, self).__init__(args=args, config=config)
# We want to display the stat in the curse interface
self.display_curse = True
diff --git a/glances/plugins/glances_irq.py b/glances/plugins/glances_irq.py
index aa8cd576..243dd61a 100644
--- a/glances/plugins/glances_irq.py
+++ b/glances/plugins/glances_irq.py
@@ -33,9 +33,10 @@ class Plugin(GlancesPlugin):
stats is a list
"""
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the plugin."""
super(Plugin, self).__init__(args=args,
+ config=config,
stats_init_value=[])
# We want to display the stat in the curse interface
diff --git a/glances/plugins/glances_load.py b/glances/plugins/glances_load.py
index 62c1475b..69b0bbfd 100644
--- a/glances/plugins/glances_load.py
+++ b/glances/plugins/glances_load.py
@@ -50,9 +50,10 @@ class Plugin(GlancesPlugin):
stats is a dict
"""
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the plugin."""
super(Plugin, self).__init__(args=args,
+ config=config,
items_history_list=items_history_list)
# We want to display the stat in the curse interface
diff --git a/glances/plugins/glances_mem.py b/glances/plugins/glances_mem.py
index b74dabe2..83108e96 100644
--- a/glances/plugins/glances_mem.py
+++ b/glances/plugins/glances_mem.py
@@ -59,9 +59,10 @@ class Plugin(GlancesPlugin):
stats is a dict
"""
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the plugin."""
super(Plugin, self).__init__(args=args,
+ config=config,
items_history_list=items_history_list)
# We want to display the stat in the curse interface
diff --git a/glances/plugins/glances_memswap.py b/glances/plugins/glances_memswap.py
index acae5ff0..42c367a8 100644
--- a/glances/plugins/glances_memswap.py
+++ b/glances/plugins/glances_memswap.py
@@ -47,9 +47,10 @@ class Plugin(GlancesPlugin):
stats is a dict
"""
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the plugin."""
super(Plugin, self).__init__(args=args,
+ config=config,
items_history_list=items_history_list)
# We want to display the stat in the curse interface
diff --git a/glances/plugins/glances_network.py b/glances/plugins/glances_network.py
index 90535355..90b41090 100644
--- a/glances/plugins/glances_network.py
+++ b/glances/plugins/glances_network.py
@@ -51,9 +51,10 @@ class Plugin(GlancesPlugin):
stats is a list
"""
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the plugin."""
super(Plugin, self).__init__(args=args,
+ config=config,
items_history_list=items_history_list,
stats_init_value=[])
diff --git a/glances/plugins/glances_now.py b/glances/plugins/glances_now.py
index 31d7103e..85f4ece1 100644
--- a/glances/plugins/glances_now.py
+++ b/glances/plugins/glances_now.py
@@ -31,9 +31,9 @@ class Plugin(GlancesPlugin):
stats is (string)
"""
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the plugin."""
- super(Plugin, self).__init__(args=args)
+ super(Plugin, self).__init__(args=args, config=config)
# We want to display the stat in the curse interface
self.display_curse = True
diff --git a/glances/plugins/glances_percpu.py b/glances/plugins/glances_percpu.py
index 9a6cf2be..a00e7f8f 100644
--- a/glances/plugins/glances_percpu.py
+++ b/glances/plugins/glances_percpu.py
@@ -39,9 +39,10 @@ class Plugin(GlancesPlugin):
for each CPU.
"""
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the plugin."""
super(Plugin, self).__init__(args=args,
+ config=config,
items_history_list=items_history_list,
stats_init_value=[])
diff --git a/glances/plugins/glances_plugin.py b/glances/plugins/glances_plugin.py
index 755a300d..84c5cc2f 100644
--- a/glances/plugins/glances_plugin.py
+++ b/glances/plugins/glances_plugin.py
@@ -41,6 +41,7 @@ class GlancesPlugin(object):
def __init__(self,
args=None,
+ config=None,
items_history_list=None,
stats_init_value={}):
"""Init the plugin of plugins class.
@@ -66,7 +67,8 @@ class GlancesPlugin(object):
:stats_init_value: Default value for a stats item
"""
# Plugin name (= module name without glances_)
- self.plugin_name = self.__class__.__module__[len('glances_'):]
+ pos = self.__class__.__module__.find('glances_') + len('glances') + 1
+ self.plugin_name = self.__class__.__module__[pos:]
# logger.debug("Init plugin %s" % self.plugin_name)
# Init the args
@@ -83,8 +85,11 @@ class GlancesPlugin(object):
self.items_history_list = items_history_list
self.stats_history = self.init_stats_history()
- # Init the limits dictionnary
+ # Init the limits (configuration keys) dictionnary
self._limits = dict()
+ if not self.load_limits(config=config):
+ logger.debug('Can not load section {} in {}'.format(self.plugin_name,
+ config))
# Init the actions
self.actions = GlancesActions(args=args)
diff --git a/glances/plugins/glances_ports.py b/glances/plugins/glances_ports.py
index ec92dc2a..b2db43a9 100644
--- a/glances/plugins/glances_ports.py
+++ b/glances/plugins/glances_ports.py
@@ -48,6 +48,7 @@ class Plugin(GlancesPlugin):
def __init__(self, args=None, config=None):
"""Init the plugin."""
super(Plugin, self).__init__(args=args,
+ config=config,
stats_init_value=[])
self.args = args
self.config = config
diff --git a/glances/plugins/glances_processcount.py b/glances/plugins/glances_processcount.py
index d4488fd1..7ac0ac82 100644
--- a/glances/plugins/glances_processcount.py
+++ b/glances/plugins/glances_processcount.py
@@ -51,9 +51,10 @@ class Plugin(GlancesPlugin):
'name': 'process name',
None: 'None'}
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the plugin."""
super(Plugin, self).__init__(args=args,
+ config=config,
items_history_list=items_history_list)
# We want to display the stat in the curse interface
diff --git a/glances/plugins/glances_processlist.py b/glances/plugins/glances_processlist.py
index 701e52ee..ede75415 100644
--- a/glances/plugins/glances_processlist.py
+++ b/glances/plugins/glances_processlist.py
@@ -91,9 +91,10 @@ class Plugin(GlancesPlugin):
'name': '[{}]'
}
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the plugin."""
super(Plugin, self).__init__(args=args,
+ config=config,
stats_init_value=[])
# We want to display the stat in the curse interface
diff --git a/glances/plugins/glances_psutilversion.py b/glances/plugins/glances_psutilversion.py
index 0d23b1d6..1e1c3465 100644
--- a/glances/plugins/glances_psutilversion.py
+++ b/glances/plugins/glances_psutilversion.py
@@ -29,9 +29,9 @@ class Plugin(GlancesPlugin):
stats is a tuple
"""
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the plugin."""
- super(Plugin, self).__init__(args=args)
+ super(Plugin, self).__init__(args=args, config=config)
self.reset()
diff --git a/glances/plugins/glances_quicklook.py b/glances/plugins/glances_quicklook.py
index 32ec62e8..456ecb12 100644
--- a/glances/plugins/glances_quicklook.py
+++ b/glances/plugins/glances_quicklook.py
@@ -59,9 +59,10 @@ class Plugin(GlancesPlugin):
'stats' is a dictionary.
"""
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the quicklook plugin."""
super(Plugin, self).__init__(args=args,
+ config=config,
items_history_list=items_history_list)
# We want to display the stat in the curse interface
self.display_curse = True
diff --git a/glances/plugins/glances_raid.py b/glances/plugins/glances_raid.py
index e5984397..7e5275b2 100644
--- a/glances/plugins/glances_raid.py
+++ b/glances/plugins/glances_raid.py
@@ -39,9 +39,9 @@ class Plugin(GlancesPlugin):
stats is a dict (see pymdstat documentation)
"""
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the plugin."""
- super(Plugin, self).__init__(args=args)
+ super(Plugin, self).__init__(args=args, config=config)
# We want to display the stat in the curse interface
self.display_curse = True
diff --git a/glances/plugins/glances_sensors.py b/glances/plugins/glances_sensors.py
index da2e9137..3fb07cf8 100644
--- a/glances/plugins/glances_sensors.py
+++ b/glances/plugins/glances_sensors.py
@@ -24,8 +24,8 @@ import warnings
from glances.logger import logger
from glances.compat import iteritems
-from glances.plugins.glances_batpercent import Plugin as BatPercentPlugin
-from glances.plugins.glances_hddtemp import Plugin as HddTempPlugin
+from glances.plugins.sensors.glances_batpercent import Plugin as BatPercentPlugin
+from glances.plugins.sensors.glances_hddtemp import Plugin as HddTempPlugin
from glances.plugins.glances_plugin import GlancesPlugin
SENSOR_TEMP_UNIT = 'C'
@@ -45,9 +45,10 @@ class Plugin(GlancesPlugin):
The hard disks are already sorted by name.
"""
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the plugin."""
super(Plugin, self).__init__(args=args,
+ config=config,
stats_init_value=[])
# Init the sensor class
@@ -55,11 +56,11 @@ class Plugin(GlancesPlugin):
# Instance for the HDDTemp Plugin in order to display the hard disks
# temperatures
- self.hddtemp_plugin = HddTempPlugin(args=args)
+ self.hddtemp_plugin = HddTempPlugin(args=args, config=config)
# Instance for the BatPercent in order to display the batteries
# capacities
- self.batpercent_plugin = BatPercentPlugin(args=args)
+ self.batpercent_plugin = BatPercentPlugin(args=args, config=config)
# We want to display the stat in the curse interface
self.display_curse = True
diff --git a/glances/plugins/glances_smart.py b/glances/plugins/glances_smart.py
index 924c9271..f0291cad 100644
--- a/glances/plugins/glances_smart.py
+++ b/glances/plugins/glances_smart.py
@@ -152,6 +152,7 @@ class Plugin(GlancesPlugin):
def __init__(self,
args=None,
+ config=None,
stats_init_value=[]):
"""Init the plugin."""
# check if user is admin
@@ -159,7 +160,7 @@ class Plugin(GlancesPlugin):
disable(args, "smart")
logger.debug("Current user is not admin, HDD SMART plugin disabled.")
- super(Plugin, self).__init__(args=args)
+ super(Plugin, self).__init__(args=args, config=config)
# We want to display the stat in the curse interface
self.display_curse = True
diff --git a/glances/plugins/glances_system.py b/glances/plugins/glances_system.py
index 3e704266..ad800e21 100644
--- a/glances/plugins/glances_system.py
+++ b/glances/plugins/glances_system.py
@@ -83,9 +83,9 @@ class Plugin(GlancesPlugin):
stats is a dict
"""
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the plugin."""
- super(Plugin, self).__init__(args=args)
+ super(Plugin, self).__init__(args=args, config=config)
# We want to display the stat in the curse interface
self.display_curse = True
diff --git a/glances/plugins/glances_uptime.py b/glances/plugins/glances_uptime.py
index dcb84652..b820a3d0 100644
--- a/glances/plugins/glances_uptime.py
+++ b/glances/plugins/glances_uptime.py
@@ -35,9 +35,9 @@ class Plugin(GlancesPlugin):
stats is date (string)
"""
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the plugin."""
- super(Plugin, self).__init__(args=args)
+ super(Plugin, self).__init__(args=args, config=config)
# We want to display the stat in the curse interface
self.display_curse = True
diff --git a/glances/plugins/glances_wifi.py b/glances/plugins/glances_wifi.py
index 5928e372..74b55925 100644
--- a/glances/plugins/glances_wifi.py
+++ b/glances/plugins/glances_wifi.py
@@ -49,9 +49,10 @@ class Plugin(GlancesPlugin):
Get stats of the current Wifi hotspots.
"""
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the plugin."""
super(Plugin, self).__init__(args=args,
+ config=config,
stats_init_value=[])
# We want to display the stat in the curse interface
diff --git a/glances/plugins/sensors/__init__.py b/glances/plugins/sensors/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/glances/plugins/sensors/__init__.py
diff --git a/glances/plugins/glances_batpercent.py b/glances/plugins/sensors/glances_batpercent.py
index ce43bc30..a7342e12 100644
--- a/glances/plugins/glances_batpercent.py
+++ b/glances/plugins/sensors/glances_batpercent.py
@@ -49,9 +49,10 @@ class Plugin(GlancesPlugin):
stats is a list
"""
- def __init__(self, args=None):
+ def __init__(self, args=None, config=None):
"""Init the plugin."""
super(Plugin, self).__init__(args=args,
+ config=config,
stats_init_value=[])
# Init the sensor class
diff --git a/glances/plugins/glances_hddtemp.py b/glances/plugins/sensors/glances_hddtemp.py
index ad4cca4c..d885797d 100644
--- a/