summaryrefslogtreecommitdiffstats
path: root/glances
diff options
context:
space:
mode:
Diffstat (limited to 'glances')
-rw-r--r--glances/main.py7
-rw-r--r--glances/plugins/processlist/__init__.py7
-rw-r--r--glances/processes.py20
-rw-r--r--glances/standalone.py5
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()