Future proof ourselves against modern versions of python-psutil.
This commit is contained in:
parent
05163cde24
commit
48af59b57c
7 changed files with 45 additions and 7 deletions
|
@ -48,8 +48,13 @@ try:
|
||||||
pid = os.getpid()
|
pid = os.getpid()
|
||||||
proc = [p for p in psutil.process_iter() if p.pid == pid][0]
|
proc = [p for p in psutil.process_iter() if p.pid == pid][0]
|
||||||
|
|
||||||
|
# proc.name is a method on modern versions of psutil.
|
||||||
|
name = proc.name
|
||||||
|
if callable(name):
|
||||||
|
name = name()
|
||||||
|
|
||||||
config['moksha.monitoring.socket'] = \
|
config['moksha.monitoring.socket'] = \
|
||||||
'ipc:///var/run/fedmsg/monitoring-%s.socket' % proc.name
|
'ipc:///var/run/fedmsg/monitoring-%s.socket' % name
|
||||||
config['moksha.monitoring.socket.mode'] = '770'
|
config['moksha.monitoring.socket.mode'] = '770'
|
||||||
except (OSError, ImportError):
|
except (OSError, ImportError):
|
||||||
# We run into issues when trying to import psutil from mod_wsgi on rhel7
|
# We run into issues when trying to import psutil from mod_wsgi on rhel7
|
||||||
|
|
|
@ -42,7 +42,13 @@ class ContextInjector(logging.Filter):
|
||||||
record.proc = current_process
|
record.proc = current_process
|
||||||
record.pid = current_process.pid
|
record.pid = current_process.pid
|
||||||
record.proc_name = current_process.name
|
record.proc_name = current_process.name
|
||||||
record.command_line = " ".join(current_process.cmdline)
|
record.command_line = current_process.cmdline
|
||||||
|
# These are callabls on more modern versions of psutil.
|
||||||
|
if callable(record.proc_name):
|
||||||
|
record.proc_name = record.proc_name()
|
||||||
|
if callable(record.command_line):
|
||||||
|
record.command_line = record.command_line()
|
||||||
|
record.command_line = " ".join(record.command_line)
|
||||||
record.callstack = self.format_callstack()
|
record.callstack = self.format_callstack()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
|
@ -92,8 +92,13 @@ try:
|
||||||
pid = os.getpid()
|
pid = os.getpid()
|
||||||
proc = [p for p in psutil.process_iter() if p.pid == pid][0]
|
proc = [p for p in psutil.process_iter() if p.pid == pid][0]
|
||||||
|
|
||||||
|
# proc.name is a method on modern versions of psutil.
|
||||||
|
name = proc.name
|
||||||
|
if callable(name):
|
||||||
|
name = name()
|
||||||
|
|
||||||
config['moksha.monitoring.socket'] = \
|
config['moksha.monitoring.socket'] = \
|
||||||
'ipc:///var/run/fedmsg/monitoring-%s.socket' % proc.name
|
'ipc:///var/run/fedmsg/monitoring-%s.socket' % name
|
||||||
config['moksha.monitoring.socket.mode'] = '770'
|
config['moksha.monitoring.socket.mode'] = '770'
|
||||||
except (OSError, ImportError):
|
except (OSError, ImportError):
|
||||||
# We run into issues when trying to import psutil from mod_wsgi on rhel7
|
# We run into issues when trying to import psutil from mod_wsgi on rhel7
|
||||||
|
|
|
@ -54,7 +54,13 @@ class ContextInjector(logging.Filter):
|
||||||
record.proc = current_process
|
record.proc = current_process
|
||||||
record.pid = current_process.pid
|
record.pid = current_process.pid
|
||||||
record.proc_name = current_process.name
|
record.proc_name = current_process.name
|
||||||
record.command_line = " ".join(current_process.cmdline)
|
record.command_line = current_process.cmdline
|
||||||
|
# These are callabls on more modern versions of psutil.
|
||||||
|
if callable(record.proc_name):
|
||||||
|
record.proc_name = record.proc_name()
|
||||||
|
if callable(record.command_line):
|
||||||
|
record.command_line = record.command_line()
|
||||||
|
record.command_line = " ".join(record.command_line)
|
||||||
record.callstack = self.format_callstack()
|
record.callstack = self.format_callstack()
|
||||||
record.farewell = ""
|
record.farewell = ""
|
||||||
|
|
||||||
|
|
|
@ -24,8 +24,13 @@ try:
|
||||||
pid = os.getpid()
|
pid = os.getpid()
|
||||||
proc = [p for p in psutil.process_iter() if p.pid == pid][0]
|
proc = [p for p in psutil.process_iter() if p.pid == pid][0]
|
||||||
|
|
||||||
|
# proc.name is a method on modern versions of psutil.
|
||||||
|
name = proc.name
|
||||||
|
if callable(name):
|
||||||
|
name = name()
|
||||||
|
|
||||||
config['moksha.monitoring.socket'] = \
|
config['moksha.monitoring.socket'] = \
|
||||||
'ipc:///var/run/fedmsg/monitoring-%s.socket' % proc.name
|
'ipc:///var/run/fedmsg/monitoring-%s.socket' % name
|
||||||
config['moksha.monitoring.socket.mode'] = '770'
|
config['moksha.monitoring.socket.mode'] = '770'
|
||||||
except (OSError, ImportError):
|
except (OSError, ImportError):
|
||||||
# We run into issues when trying to import psutil from mod_wsgi on rhel7
|
# We run into issues when trying to import psutil from mod_wsgi on rhel7
|
||||||
|
|
|
@ -53,8 +53,13 @@ try:
|
||||||
pid = os.getpid()
|
pid = os.getpid()
|
||||||
proc = [p for p in psutil.process_iter() if p.pid == pid][0]
|
proc = [p for p in psutil.process_iter() if p.pid == pid][0]
|
||||||
|
|
||||||
|
# proc.name is a method on modern versions of psutil.
|
||||||
|
name = proc.name
|
||||||
|
if callable(name):
|
||||||
|
name = name()
|
||||||
|
|
||||||
config['moksha.monitoring.socket'] = \
|
config['moksha.monitoring.socket'] = \
|
||||||
'ipc:///var/run/fedmsg/monitoring-%s.socket' % proc.name
|
'ipc:///var/run/fedmsg/monitoring-%s.socket' % name
|
||||||
config['moksha.monitoring.socket.mode'] = '770'
|
config['moksha.monitoring.socket.mode'] = '770'
|
||||||
except (OSError, ImportError):
|
except (OSError, ImportError):
|
||||||
# We run into issues when trying to import psutil from mod_wsgi on rhel7
|
# We run into issues when trying to import psutil from mod_wsgi on rhel7
|
||||||
|
|
|
@ -42,7 +42,13 @@ class ContextInjector(logging.Filter):
|
||||||
record.proc = current_process
|
record.proc = current_process
|
||||||
record.pid = current_process.pid
|
record.pid = current_process.pid
|
||||||
record.proc_name = current_process.name
|
record.proc_name = current_process.name
|
||||||
record.command_line = " ".join(current_process.cmdline)
|
record.command_line = current_process.cmdline
|
||||||
|
# These are callabls on more modern versions of psutil.
|
||||||
|
if callable(record.proc_name):
|
||||||
|
record.proc_name = record.proc_name()
|
||||||
|
if callable(record.command_line):
|
||||||
|
record.command_line = record.command_line()
|
||||||
|
record.command_line = " ".join(record.command_line)
|
||||||
record.callstack = self.format_callstack()
|
record.callstack = self.format_callstack()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue