From 71a18e67a707e4d2f35b1b74321f47c0dde517ba Mon Sep 17 00:00:00 2001 From: nicolargo Date: Sat, 28 Nov 2015 15:52:42 +0100 Subject: [PATCH] When Glances is starting the notifications should be delayed #732 --- NEWS | 13 ++++++++++--- conf/glances.conf | 2 +- glances/actions.py | 12 ++++++++++-- glances/plugins/glances_plugin.py | 2 +- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/NEWS b/NEWS index d7758a48..4e746ad7 100644 --- a/NEWS +++ b/NEWS @@ -2,19 +2,26 @@ Glances Version 2 ============================================================================== -Version 2.x -============= +Version 2.6 +=========== Enhancements and new features: * New folders' monitoring plugins (issue #721) * Add process summary min/max stats (issue #703) * Add timestamp to the CSV export module (issue #708) - * [WebUI] add "pointer" cursor for sortable columns (issue #704 from @notFloran) * Add a shortcut 'E' to delete process filter (issue #699) + * When Glances is starting the notifications should be delayed (issue #732) + * [WebUI] add "pointer" cursor for sortable columns (issue #704 from @notFloran) + * [WebUI] Make web page title configurable (issue #724) Bugs corrected: * Can't read sensors on a Thinkpad (issue #711) + * InfluxDB/OpenTSDB: tag parsing broken (issue #713) + * Grafana Dashboard outdated for InfluxDB 0.9.x (issue #648) + +Others: + * A new Glances docker container to monitor your Docker infrastructure is available here (issue #728): https://hub.docker.com/r/nicolargo/glances/ Version 2.5.1 ============= diff --git a/conf/glances.conf b/conf/glances.conf index 6b6e78e4..6ced6586 100644 --- a/conf/glances.conf +++ b/conf/glances.conf @@ -17,7 +17,7 @@ user_careful=50 user_warning=70 user_critical=90 #user_log=False -#user_critical_action=echo {{user}} {{value}} {{max}} > /tmp/cpu.alert +#user_critical_action=echo `date` - {{user}} > /tmp/cpu.alert iowait_careful=50 iowait_warning=70 iowait_critical=90 diff --git a/glances/actions.py b/glances/actions.py index a7fdca3a..4fea8d61 100644 --- a/glances/actions.py +++ b/glances/actions.py @@ -22,6 +22,7 @@ from subprocess import Popen from glances.logger import logger +from glances.timer import Timer try: import pystache @@ -36,7 +37,7 @@ class GlancesActions(object): """This class manage action if an alert is reached.""" - def __init__(self): + def __init__(self, args=None): """Init GlancesActions class.""" # Dict with the criticity status # - key: stat_name @@ -44,6 +45,13 @@ class GlancesActions(object): # Goal: avoid to execute the same command twice self.status = {} + # Add a timer to avoid any trigger when Glances is started (issue#732) + # Action can be triggered after refresh * 2 seconds + if hasattr(args, 'time'): + self.start_timer = Timer(args.time * 2) + else: + self.start_timer = Timer(3) + def get(self, stat_name): """Get the stat_name criticity.""" try: @@ -65,7 +73,7 @@ class GlancesActions(object): Return True if the commands have been ran. """ - if self.get(stat_name) == criticity: + if self.get(stat_name) == criticity or not self.start_timer.finished(): # Action already executed => Exit return False diff --git a/glances/plugins/glances_plugin.py b/glances/plugins/glances_plugin.py index bad237f6..99fe1fb1 100644 --- a/glances/plugins/glances_plugin.py +++ b/glances/plugins/glances_plugin.py @@ -64,7 +64,7 @@ class GlancesPlugin(object): self._limits = dict() # Init the actions - self.actions = GlancesActions() + self.actions = GlancesActions(args=args) # Init the views self.views = dict()