summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Hennion <nicolas@nicolargo.com>2014-09-15 19:06:12 +0200
committerNicolas Hennion <nicolas@nicolargo.com>2014-09-15 19:06:12 +0200
commit4521f2aa0b74b8a23b17860cd8faf989dc1229d8 (patch)
tree844abdd540a0be93094191ea14a7ae2b52b99919
parentff10056508036b573a32686f9e522e65e6102611 (diff)
Automaticaly compute top processes number for the current screen - issue #408
-rw-r--r--conf/glances-test.conf4
-rw-r--r--conf/glances.conf4
-rw-r--r--glances/core/glances_processes.py3
-rw-r--r--glances/core/glances_standalone.py10
-rw-r--r--glances/outputs/glances_curses.py15
5 files changed, 16 insertions, 20 deletions
diff --git a/conf/glances-test.conf b/conf/glances-test.conf
index fef896ec..9ca9175a 100644
--- a/conf/glances-test.conf
+++ b/conf/glances-test.conf
@@ -96,10 +96,6 @@ core 0_alias=CPU Core 0
core 1_alias=CPU Core 1
[processlist]
-# Maximum number of processes to show in the UI
-# Note: Only limit number of showed processes (not the one returned by the API)
-# Default is 20 processes (Top 20)
-max_processes=20
# Limit values for CPU/MEM per process in %
# Default values if not defined: 50/70/90
cpu_careful=50
diff --git a/conf/glances.conf b/conf/glances.conf
index c0dbb077..b571aed5 100644
--- a/conf/glances.conf
+++ b/conf/glances.conf
@@ -96,10 +96,6 @@ battery_critical=95
#core 1_alias=CPU Core 1
[processlist]
-# Maximum number of processes to show in the UI
-# Note: Only limit number of showed processes (not the one returned by the API)
-# Default is 20 processes (Top 20)
-max_processes=20
# Limit values for CPU/MEM per process in %
# Default values if not defined: 50/70/90
cpu_careful=50
diff --git a/glances/core/glances_processes.py b/glances/core/glances_processes.py
index 97bb5726..fb4cefa4 100644
--- a/glances/core/glances_processes.py
+++ b/glances/core/glances_processes.py
@@ -66,9 +66,6 @@ class GlancesProcesses(object):
self.process_filter = None
self.process_filter_re = None
- # !!! ONLY FOR TEST
- # self.set_process_filter('.*python.*')
-
def enable(self):
"""Enable process stats."""
self.disable_tag = False
diff --git a/glances/core/glances_standalone.py b/glances/core/glances_standalone.py
index a6586f6b..4fe860da 100644
--- a/glances/core/glances_standalone.py
+++ b/glances/core/glances_standalone.py
@@ -34,14 +34,8 @@ class GlancesStandalone(object):
# Init stats
self.stats = GlancesStats(config=config, args=args)
- # If configured, set the maximum processes number to display
- try:
- max_processes = int(self.stats.get_plugin('processlist').get_conf_value('max_processes'))
- logger.debug(_("Limit maximum displayed processes to %s") % max_processes)
- except:
- max_processes = None
- logger.warning(_("Maximum displayed processes is not configured (high CPU consumption)"))
- glances_processes.set_max_processes(max_processes)
+ # Default number of processes to displayed is set to 20
+ glances_processes.set_max_processes(20)
# If process extended stats is disabled by user
if args.disable_process_extended:
diff --git a/glances/outputs/glances_curses.py b/glances/outputs/glances_curses.py
index 9c592964..33454af6 100644
--- a/glances/outputs/glances_curses.py
+++ b/glances/outputs/glances_curses.py
@@ -383,6 +383,7 @@ class GlancesCurses(object):
# Update the stats messages
###########################
+
# Update the client server status
self.args.cs_status = cs_status
stats_system = stats.get_plugin('system').get_stats_display(args=self.args)
@@ -400,10 +401,22 @@ class GlancesCurses(object):
stats_sensors = stats.get_plugin('sensors').get_stats_display(args=self.args)
stats_now = stats.get_plugin('now').get_stats_display()
stats_processcount = stats.get_plugin('processcount').get_stats_display(args=self.args)
- stats_processlist = stats.get_plugin('processlist').get_stats_display(args=self.args)
stats_monitor = stats.get_plugin('monitor').get_stats_display(args=self.args)
stats_alert = stats.get_plugin('alert').get_stats_display(args=self.args)
+ # Adapt number of processes to the available space
+ max_processes_displayed = screen_y - 11 - self.get_stats_display_height(stats_alert)
+ if not self.args.disable_process_extended:
+ max_processes_displayed -= 4
+ if max_processes_displayed < 0:
+ max_processes_displayed = 0
+ if glances_processes.get_max_processes() is None or \
+ glances_processes.get_max_processes() != max_processes_displayed:
+ logger.debug(_("Set number of displayed processes to %s") % max_processes_displayed)
+ glances_processes.set_max_processes(max_processes_displayed)
+
+ stats_processlist = stats.get_plugin('processlist').get_stats_display(args=self.args)
+
# Display the stats on the curses interface
###########################################