Commit 20bc6aed authored by Kirill Tkhai's avatar Kirill Tkhai Committed by Andrei Vagin

crit: Use ns_pid, ns_sid and ns_gid

Reflect commit 3086b0323cf8 "pstree: Dump and restore NSpid, NSsid etc"
in crit.
Signed-off-by: 's avatarKirill Tkhai <ktkhai@virtuozzo.com>
Signed-off-by: 's avatarAndrei Vagin <avagin@virtuozzo.com>
parent c9ca83f0
...@@ -49,20 +49,22 @@ def info(opts): ...@@ -49,20 +49,22 @@ def info(opts):
json.dump(infs, sys.stdout, indent = 4) json.dump(infs, sys.stdout, indent = 4)
print print
def get_task_id(p, val):
return p[val] if val in p else p['ns_' + val][0]
# #
# Explorers # Explorers
# #
class ps_item: class ps_item:
def __init__(self, p, core): def __init__(self, p, core):
self.pid = p['pid'] self.pid = get_task_id(p, 'pid')
self.ppid = p['ppid'] self.ppid = p['ppid']
self.p = p self.p = p
self.core = core self.core = core
self.kids = [] self.kids = []
def show_ps(p, opts, depth = 0): def show_ps(p, opts, depth = 0):
print "%7d%7d%7d %s%s" % (p.pid, p.p['pgid'], p.p['sid'], print "%7d%7d%7d %s%s" % (p.pid, get_task_id(p.p, 'pgid'), get_task_id(p.p, 'sid'),
' ' * (4 * depth), p.core['tc']['comm']) ' ' * (4 * depth), p.core['tc']['comm'])
for kid in p.kids: for kid in p.kids:
show_ps(kid, opts, depth + 1) show_ps(kid, opts, depth + 1)
...@@ -71,7 +73,7 @@ def explore_ps(opts): ...@@ -71,7 +73,7 @@ def explore_ps(opts):
pss = { } pss = { }
ps_img = pycriu.images.load(dinf(opts, 'pstree.img')) ps_img = pycriu.images.load(dinf(opts, 'pstree.img'))
for p in ps_img['entries']: for p in ps_img['entries']:
core = pycriu.images.load(dinf(opts, 'core-%d.img' % p['pid'])) core = pycriu.images.load(dinf(opts, 'core-%d.img' % get_task_id(p, 'pid')))
ps = ps_item(p, core['entries'][0]) ps = ps_item(p, core['entries'][0])
pss[ps.pid] = ps pss[ps.pid] = ps
...@@ -162,7 +164,7 @@ def get_file_str(opts, fd): ...@@ -162,7 +164,7 @@ def get_file_str(opts, fd):
def explore_fds(opts): def explore_fds(opts):
ps_img = pycriu.images.load(dinf(opts, 'pstree.img')) ps_img = pycriu.images.load(dinf(opts, 'pstree.img'))
for p in ps_img['entries']: for p in ps_img['entries']:
pid = p['pid'] pid = get_task_id(p, 'pid')
idi = pycriu.images.load(dinf(opts, 'ids-%s.img' % pid)) idi = pycriu.images.load(dinf(opts, 'ids-%s.img' % pid))
fdt = idi['entries'][0]['files_id'] fdt = idi['entries'][0]['files_id']
fdi = pycriu.images.load(dinf(opts, 'fdinfo-%d.img' % fdt)) fdi = pycriu.images.load(dinf(opts, 'fdinfo-%d.img' % fdt))
...@@ -194,7 +196,7 @@ def explore_mems(opts): ...@@ -194,7 +196,7 @@ def explore_mems(opts):
ps_img = pycriu.images.load(dinf(opts, 'pstree.img')) ps_img = pycriu.images.load(dinf(opts, 'pstree.img'))
vids = vma_id() vids = vma_id()
for p in ps_img['entries']: for p in ps_img['entries']:
pid = p['pid'] pid = get_task_id(p, 'pid')
mmi = pycriu.images.load(dinf(opts, 'mm-%d.img' % pid))['entries'][0] mmi = pycriu.images.load(dinf(opts, 'mm-%d.img' % pid))['entries'][0]
print "%d" % pid print "%d" % pid
...@@ -239,7 +241,7 @@ def explore_mems(opts): ...@@ -239,7 +241,7 @@ def explore_mems(opts):
def explore_rss(opts): def explore_rss(opts):
ps_img = pycriu.images.load(dinf(opts, 'pstree.img')) ps_img = pycriu.images.load(dinf(opts, 'pstree.img'))
for p in ps_img['entries']: for p in ps_img['entries']:
pid = p['pid'] pid = get_task_id(p, 'pid')
vmas = pycriu.images.load(dinf(opts, 'mm-%d.img' % pid))['entries'][0]['vmas'] vmas = pycriu.images.load(dinf(opts, 'mm-%d.img' % pid))['entries'][0]['vmas']
pms = pycriu.images.load(dinf(opts, 'pagemap-%d.img' % pid))['entries'] pms = pycriu.images.load(dinf(opts, 'pagemap-%d.img' % pid))['entries']
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment