提交 8e92419f 编写于 作者: N Nicolargo

Add extended info

上级 f0a7dfd7
......@@ -92,6 +92,8 @@ class GlancesProcesses(object):
procstat = proc.as_dict(attrs=['pid'])
if mandatory_stats:
procstat['mandatory_stats'] = True
# Process CPU, MEM percent and name
procstat.update(proc.as_dict(attrs=['cpu_percent', 'memory_percent', 'name'], ad_value=''))
......@@ -126,6 +128,8 @@ class GlancesProcesses(object):
procstat['io_counters'] += [io_tag]
if standard_stats:
procstat['standard_stats'] = True
# Process username (cached with internal cache)
try:
self.username_cache[procstat['pid']]
......@@ -155,6 +159,8 @@ class GlancesProcesses(object):
procstat['status'] = str(procstat['status'])[:1].upper()
if extended_stats:
procstat['extended_stats'] = True
# CPU affinity
# Memory extended
# Number of context switch
......@@ -186,6 +192,11 @@ class GlancesProcesses(object):
procstat['tcp'] = None
procstat['udp'] = None
# IO Nice
# http://pythonhosted.org/psutil/#psutil.Process.ionice
if is_linux or is_windows:
procstat.update(proc.as_dict(attrs=['ionice']))
# !!! Only for dev
logger.debug("EXTENDED STATS: %s" % procstat)
......
......@@ -110,6 +110,7 @@ class Plugin(GlancesPlugin):
tag_proc_time = True
# Loop over processes (sorted by the sort key previously compute)
first = True
for p in self.sortlist(process_sort_key):
ret.append(self.curse_new_line())
# CPU
......@@ -237,6 +238,27 @@ class Plugin(GlancesPlugin):
except UnicodeEncodeError:
ret.append(self.curse_add_line("", splittable=True))
# Add extended stats but only for the top processes
# !!! CPU consumption !!!!
if first:
# Left padding
xpad = ' ' * 13
# First line is CPU affinity
ret.append(self.curse_new_line())
msg = xpad + _('CPU affinity: ') + ','.join(str(i) for i in p['cpu_affinity'])
ret.append(self.curse_add_line(msg))
# Second line is memory info
ret.append(self.curse_new_line())
msg = xpad + _('Memory info: ')
msg += _('swap ') + self.auto_unit(p['memory_swap'], low_precision=False)
for k, v in p['memory_info_ex']._asdict().items():
# Ignore rss and vms (already displayed)
if k not in ['rss', 'vms']:
msg += ', ' + k + ' ' + self.auto_unit(v, low_precision=False)
ret.append(self.curse_add_line(msg))
# End of extended stats
first = False
# Return the message with decoration
return ret
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册