sysmon: Count gs_offloader processes
Add metric to track recovery of linked bug.
BUG=chromium:853842
TEST=Unittests
Change-Id: Iead85fd91a3acddd4b140cd92cbeb5ac36001fed
Reviewed-on: https://chromium-review.googlesource.com/1117701
Commit-Ready: Allen Li <ayatane@chromium.org>
Tested-by: Allen Li <ayatane@chromium.org>
Reviewed-by: Richard Barnette <jrbarnette@google.com>
diff --git a/scripts/sysmon/proc_metrics.py b/scripts/sysmon/proc_metrics.py
index 84f8bdf..fde8909 100644
--- a/scripts/sysmon/proc_metrics.py
+++ b/scripts/sysmon/proc_metrics.py
@@ -35,11 +35,12 @@
def __init__(self):
self._metrics = [
+ _ProcessMetric('apache',
+ test_func=partial(_is_process_name, 'apache2')),
_ProcessMetric('autoserv',
test_func=_is_parent_autoserv),
- _ProcessMetric('sysmon',
- test_func=partial(_is_python_module,
- 'chromite.scripts.sysmon')),
+ _ProcessMetric('gs_offloader',
+ test_func=_is_gs_offloader),
_ProcessMetric('job_aborter',
test_func=partial(_is_python_module,
'lucifer.cmd.job_aborter')),
@@ -48,12 +49,13 @@
'lucifer.cmd.job_reporter')),
_ProcessMetric('lucifer_run_job',
test_func=partial(_is_process_name, 'lucifer_run_job')),
- _ProcessMetric('apache',
- test_func=partial(_is_process_name, 'apache2')),
_ProcessMetric('lxc-start',
test_func=partial(_is_process_name, 'lxc-start')),
_ProcessMetric('lxc-attach',
test_func=partial(_is_process_name, 'lxc-attach')),
+ _ProcessMetric('sysmon',
+ test_func=partial(_is_python_module,
+ 'chromite.scripts.sysmon')),
]
self._other_metric = _ProcessMetric('other')
@@ -126,6 +128,14 @@
return _is_process_name('autoserv', proc)
+def _is_gs_offloader(proc):
+ """Return whether proc is a gs_offloader process."""
+ cmdline = proc.cmdline()
+ return (len(cmdline) >= 2
+ and cmdline[0].endswith('python')
+ and cmdline[1].endswith('gs_offloader.py'))
+
+
def _is_python_module(module, proc):
"""Return whether proc is a process running a Python module."""
cmdline = proc.cmdline()