From 2f2b84b6bd75a53095ab3cd22ceaf70e34367a5c Mon Sep 17 00:00:00 2001 From: nicolargo Date: Tue, 31 Mar 2015 22:07:05 +0200 Subject: [PATCH 1/5] Add percpu to export module --- glances/exports/glances_export.py | 2 +- glances/plugins/glances_percpu.py | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/glances/exports/glances_export.py b/glances/exports/glances_export.py index 5f32444a..a6ea19f1 100644 --- a/glances/exports/glances_export.py +++ b/glances/exports/glances_export.py @@ -54,7 +54,7 @@ class GlancesExport(object): def plugins_to_export(self): """Return the list of plugins to export""" - return ['cpu', 'load', 'mem', 'memswap', 'network', 'diskio', 'fs', 'processcount'] + return ['cpu', 'percpu', 'load', 'mem', 'memswap', 'network', 'diskio', 'fs', 'processcount'] def update(self, stats): """Update stats to a server. diff --git a/glances/plugins/glances_percpu.py b/glances/plugins/glances_percpu.py index 62a9b137..e6e74543 100644 --- a/glances/plugins/glances_percpu.py +++ b/glances/plugins/glances_percpu.py @@ -42,6 +42,10 @@ class Plugin(GlancesPlugin): # Init stats self.reset() + def get_key(self): + """Return the key of the list""" + return 'cpu_number' + def reset(self): """Reset/init the stats.""" self.stats = [] @@ -56,9 +60,12 @@ class Plugin(GlancesPlugin): if self.input_method == 'local': percpu_percent = psutil.cpu_percent(interval=0.0, percpu=True) percpu_times_percent = psutil.cpu_times_percent(interval=0.0, percpu=True) + cpu_number = 0 for cputimes in percpu_times_percent: for cpupercent in percpu_percent: - cpu = {'total': cpupercent, + cpu = {'key': self.get_key(), + 'cpu_number': str(cpu_number), + 'total': cpupercent, 'user': cputimes.user, 'system': cputimes.system, 'idle': cputimes.idle} @@ -78,6 +85,7 @@ class Plugin(GlancesPlugin): if hasattr(cputimes, 'guest_nice'): cpu['guest_nice'] = cputimes.guest_nice self.stats.append(cpu) + cpu_number += 1 else: # Update stats using SNMP pass From 13df3493d07f48036b1274f230fafe26cdabdd6e Mon Sep 17 00:00:00 2001 From: nicolargo Date: Tue, 31 Mar 2015 22:25:55 +0200 Subject: [PATCH 2/5] Correct an issue on quiet mode, refresh time is not take into account --- glances/core/glances_standalone.py | 8 +++++++- glances/exports/glances_export.py | 12 +++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/glances/core/glances_standalone.py b/glances/core/glances_standalone.py index 5cb149d0..e4d43034 100644 --- a/glances/core/glances_standalone.py +++ b/glances/core/glances_standalone.py @@ -19,6 +19,8 @@ """Manage the Glances standalone session.""" +from time import sleep + # Import Glances libs from glances.core.glances_globals import is_windows from glances.core.glances_logging import logger @@ -34,6 +36,7 @@ class GlancesStandalone(object): def __init__(self, config=None, args=None): # Quiet mode self._quiet = args.quiet + self.refresh_time = args.time # Init stats self.stats = GlancesStats(config=config, args=args) @@ -82,9 +85,12 @@ class GlancesStandalone(object): # Update system informations self.stats.update() - # Update the screen if not self.quiet: + # Update the screen self.screen.update(self.stats) + else: + # Wait... + sleep(self.refresh_time) # Export stats using export modules self.stats.export(self.stats) diff --git a/glances/exports/glances_export.py b/glances/exports/glances_export.py index a6ea19f1..c235a1ce 100644 --- a/glances/exports/glances_export.py +++ b/glances/exports/glances_export.py @@ -54,7 +54,17 @@ class GlancesExport(object): def plugins_to_export(self): """Return the list of plugins to export""" - return ['cpu', 'percpu', 'load', 'mem', 'memswap', 'network', 'diskio', 'fs', 'processcount'] + return ['cpu', + 'percpu', + 'load', + 'mem', + 'memswap', + 'network', + 'diskio', + 'fs', + 'processcount', + 'ip', + 'system'] def update(self, stats): """Update stats to a server. From 71ffcef3d0127da4655e1580e5001203b5ce28f7 Mon Sep 17 00:00:00 2001 From: nicolargo Date: Tue, 31 Mar 2015 22:38:27 +0200 Subject: [PATCH 3/5] Add system and uptime to the export module --- glances/exports/glances_export.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/glances/exports/glances_export.py b/glances/exports/glances_export.py index c235a1ce..6e5a9b0a 100644 --- a/glances/exports/glances_export.py +++ b/glances/exports/glances_export.py @@ -64,7 +64,8 @@ class GlancesExport(object): 'fs', 'processcount', 'ip', - 'system'] + 'system', + 'uptime'] def update(self, stats): """Update stats to a server. From 3a7856831c0d797f82a3bb47d581e1c54dd5120d Mon Sep 17 00:00:00 2001 From: nicolargo Date: Wed, 1 Apr 2015 22:00:13 +0200 Subject: [PATCH 4/5] Avoid crach on olds kernels (issue #554) --- glances/core/glances_processes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glances/core/glances_processes.py b/glances/core/glances_processes.py index d5b63722..7095e213 100644 --- a/glances/core/glances_processes.py +++ b/glances/core/glances_processes.py @@ -402,7 +402,7 @@ class GlancesProcesses(object): # Get the process IO counters proc_io = proc.io_counters() io_new = [proc_io.read_bytes, proc_io.write_bytes] - except (psutil.AccessDenied, psutil.NoSuchProcess): + except (psutil.AccessDenied, psutil.NoSuchProcess, NotImplementedError): # Access denied to process IO (no root account) # NoSuchProcess (process die between first and second grab) # Put 0 in all values (for sort) and io_tag = 0 (for From c1712d19953c9558d376d52a66567f1a135e0679 Mon Sep 17 00:00:00 2001 From: nicolargo Date: Wed, 1 Apr 2015 22:10:18 +0200 Subject: [PATCH 5/5] Change documentation - Add color keyword (issue #527) --- docs/glances-doc.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/glances-doc.rst b/docs/glances-doc.rst index 16bd1b04..343425ab 100644 --- a/docs/glances-doc.rst +++ b/docs/glances-doc.rst @@ -198,7 +198,7 @@ Command-Line Options -b, --byte display network rate in byte per second -1, --percpu start Glances in per CPU mode --fs-free-space display FS free space instead of used - --theme-white optimize display for white background + --theme-white optimize display colors for white background Interactive Commands --------------------