From 87b07b36f1db22383d75ad59f6bf8e48bf03f54f Mon Sep 17 00:00:00 2001 From: Fredrik Tolf Date: Wed, 23 Nov 2011 01:53:58 +0100 Subject: [PATCH] Introduced paired events for processes. --- pdm/perf.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/pdm/perf.py b/pdm/perf.py index 0ff02a1..de2dba5 100644 --- a/pdm/perf.py +++ b/pdm/perf.py @@ -1,4 +1,4 @@ -import os, sys, resource, time, socket +import os, sys, resource, time, socket, threading class attrinfo(object): def __init__(self, desc = None): @@ -98,6 +98,25 @@ class event(object): def __init__(self): self.time = time.time() +idlock = threading.Lock() +procevid = 0 +class startevent(event): + def __init__(self): + super(startevent, self).__init__() + global procevid + idlock.acquire() + try: + self.id = procevid + procevid += 1 + finally: + idlock.release() + +class finishevent(event): + def __init__(self, start, aborted): + super(finishevent, self).__init__() + self.id = start.id + self.aborted = aborted + sysres = staticdir() itime = time.time() ires = resource.getrusage(resource.RUSAGE_SELF) -- 2.11.0