diff options
Diffstat (limited to 'glances')
-rw-r--r-- | glances/main.py | 7 | ||||
-rw-r--r-- | glances/plugins/processlist/__init__.py | 7 | ||||
-rw-r--r-- | glances/processes.py | 20 | ||||
-rw-r--r-- | glances/standalone.py | 5 |
4 files changed, 32 insertions, 7 deletions
diff --git a/glances/main.py b/glances/main.py index 30bf6f88..61a1273f 100644 --- a/glances/main.py +++ b/glances/main.py @@ -294,6 +294,13 @@ Examples of use: dest='export_graph_path', help='Folder for Graph exporter', ) + parser.add_argument( + '--export-process-filter', + default=None, + type=str, + dest='export_process_filter', + help='set the export process filter (comman separated list of regular expression)', + ) # Client/Server option parser.add_argument( '-c', '--client', dest='client', help='connect to a Glances server by IPv4/IPv6 address or hostname' diff --git a/glances/plugins/processlist/__init__.py b/glances/plugins/processlist/__init__.py index 17c4a041..f3d2c284 100644 --- a/glances/plugins/processlist/__init__.py +++ b/glances/plugins/processlist/__init__.py @@ -188,9 +188,10 @@ class PluginModel(GlancesPluginModel): ) glances_processes.set_sort_key(config.as_dict()['processlist']['sort_key'], False) if 'export' in config.as_dict()['processlist']: - logger.debug('Processlist will export processes matching following regexp: {}'.format( - config.as_dict()['processlist']['export'])) - glances_processes.set_export(config.as_dict()['processlist']['export']) + glances_processes.export_process_filter = config.as_dict()['processlist']['export'] + if args.export: + logger.info("Export process filter is set to: {}".format( + glances_processes.export_process_filter)) # The default sort key could also be overwrite by command line (see #1903) if args.sort_processes_key is not None: diff --git a/glances/processes.py b/glances/processes.py index f088ce5a..1c9d1de5 100644 --- a/glances/processes.py +++ b/glances/processes.py @@ -123,10 +123,6 @@ class GlancesProcesses(object): """Set args.""" self.args = args - def set_export(self, export): - """Set the process export list of regexp.""" - self._filter_export.filter = '|'.join(export.split(',')) - def reset_processcount(self): """Reset the global process count""" self.processcount = {'total': 0, 'running': 0, 'sleeping': 0, 'thread': 0, 'pid_max': None} @@ -210,6 +206,8 @@ class GlancesProcesses(object): """Set the maximum number of processes showed in the UI.""" self._max_processes = value + # Process filter + @property def process_filter_input(self): """Get the process filter (given by the user).""" @@ -235,6 +233,20 @@ class GlancesProcesses(object): """Get the process regular expression compiled.""" return self._filter.filter_re + # Export filter + + @property + def export_process_filter(self): + """Get the export process filter (current export filter).""" + return self._filter_export.filter + + @export_process_filter.setter + def export_process_filter(self, value): + """Set the export process filter.""" + self._filter_export.filter = '|'.join(value.split(',')) + + # Kernel threads + def disable_kernel_threads(self): """Ignore kernel threads in process list.""" self.no_kernel_threads = True diff --git a/glances/standalone.py b/glances/standalone.py index 197ab7c4..d2d01d67 100644 --- a/glances/standalone.py +++ b/glances/standalone.py @@ -64,8 +64,13 @@ class GlancesStandalone(object): # Manage optional process filter if args.process_filter is not None: + logger.info("Process filter is set to: {}".format(args.process_filter)) glances_processes.process_filter = args.process_filter + if args.export and args.export_process_filter is not None: + logger.info("Export process filter is set to: {}".format(args.export_process_filter)) + glances_processes.export_process_filter = args.export_process_filter + if (not WINDOWS) and args.no_kernel_threads: # Ignore kernel threads in process list glances_processes.disable_kernel_threads() |