diff --git a/glances/core/glances_monitor_list.py b/glances/core/glances_monitor_list.py index 7b9103f8..56be3481 100644 --- a/glances/core/glances_monitor_list.py +++ b/glances/core/glances_monitor_list.py @@ -140,6 +140,8 @@ class MonitorList(object): self.__monitor_list[i]['result'] = 'Error: ' + self.command(i) except Exception: self.__monitor_list[i]['result'] = 'Cannot execute command' + # Only save the first line + self.__monitor_list[i]['result'] = self.__monitor_list[i]['result'].split('\n')[0] if self.command(i) is None or self.__monitor_list[i]['result'] == '': # If there is no command specified in the conf file diff --git a/glances/plugins/glances_monitor.py b/glances/plugins/glances_monitor.py index 5c332787..a6d07979 100644 --- a/glances/plugins/glances_monitor.py +++ b/glances/plugins/glances_monitor.py @@ -19,7 +19,10 @@ """Monitor plugin.""" +from __future__ import unicode_literals + # Import Glances lib +from glances.core.glances_logging import logger from glances.core.glances_monitor_list import MonitorList as glancesMonitorList from glances.plugins.glances_plugin import GlancesPlugin diff --git a/glances/plugins/glances_processlist.py b/glances/plugins/glances_processlist.py index 771461b3..75b78938 100644 --- a/glances/plugins/glances_processlist.py +++ b/glances/plugins/glances_processlist.py @@ -25,6 +25,7 @@ import os from datetime import timedelta # Import Glances libs +from glances.core.glances_logging import logger from glances.plugins.glances_core import Plugin as CorePlugin from glances.core.glances_globals import is_windows from glances.core.glances_processes import glances_processes @@ -250,9 +251,12 @@ class Plugin(GlancesPlugin): if self.tag_proc_time: try: delta = timedelta(seconds=sum(p['cpu_times'])) - except OverflowError: - # Catched on some Amazon EC2 server + except (OverflowError, TypeError) as e: + # Catch OverflowError on some Amazon EC2 server # See https://github.com/nicolargo/glances/issues/87 + # Also catch TypeError on Mac OS X + # See: https://github.com/nicolargo/glances/issues/622 + logger.debug("Can not get TIME+ ({})".format(e)) self.tag_proc_time = False else: hours, minutes, seconds, microseconds = convert_timedelta(delta)