When Glances is starting the notifications should be delayed #732

This commit is contained in:
nicolargo 2015-11-28 15:52:42 +01:00
parent b4d1ee4753
commit 71a18e67a7
4 changed files with 22 additions and 7 deletions

13
NEWS
View File

@ -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
=============

View File

@ -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

View File

@ -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

View File

@ -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()