def num_ctx_switches(self): vol = unvol = None with open("/proc/%s/status" % self.pid, "rb") as f: for line in f: if line.startswith(b"voluntary_ctxt_switches"): vol = int(line.split()[1]) elif line.startswith(b"nonvoluntary_ctxt_switches"): unvol = int(line.split()[1]) if vol is not None and unvol is not None: return _common.pctxsw(vol, unvol) raise NotImplementedError( "'voluntary_ctxt_switches' and 'nonvoluntary_ctxt_switches'" "fields were not found in /proc/%s/status; the kernel is " "probably older than 2.6.23" % self.pid)
def num_ctx_switches(self): return _common.pctxsw(*cext.proc_num_ctx_switches(self.pid))
def num_ctx_switches(self): tupl = cext.proc_num_ctx_switches(self.pid) return _common.pctxsw(*tupl)