X-Git-Url: http://www.dolda2000.com/gitweb/?a=blobdiff_plain;f=python3%2Fashd%2Fperf.py;h=86fe43c799b564aba8e474a1d30028348c555ac6;hb=ee5b91f30ff0fb3f7e8c9cea9abeabadf1a982f7;hp=c4b09502a7cd89e151bfb697cfba504f147bfc39;hpb=44f2a2fede8ac4655162d8c6bbd697f487d3ce3f;p=ashd.git diff --git a/python3/ashd/perf.py b/python3/ashd/perf.py index c4b0950..86fe43c 100644 --- a/python3/ashd/perf.py +++ b/python3/ashd/perf.py @@ -3,6 +3,11 @@ try: import pdm.perf except: pdm = None +try: + import time + clock_thread = time.CLOCK_THREAD_CPUTIME_ID +except: + clock_thread = None reqstat = {} @@ -13,17 +18,27 @@ if pdm: class reqstart(pdm.perf.startevent): def __init__(self, env): - super(reqstart, self).__init__() + super().__init__() self.method = env.get("REQUEST_METHOD") self.uri = env.get("REQUEST_URI") self.host = env.get("HTTP_HOST") + self.script_uri = env.get("SCRIPT_NAME") + self.script_path = env.get("SCRIPT_FILENAME") + self.pathinfo = env.get("PATH_INFO") + self.querystring = env.get("QUERY_STRING") self.remoteaddr = env.get("REMOTE_ADDR") self.remoteport = env.get("REMOTE_PORT") + self.scheme = env.get("wsgi.url_scheme") + if clock_thread is not None: + self.icpu = time.clock_gettime(clock_thread) class reqfinish(pdm.perf.finishevent): def __init__(self, start, aborted, status): - super(reqfinish, self).__init__(start, aborted) + super().__init__(start, aborted) self.status = status + self.cputime = 0 + if clock_thread is not None: + self.cputime = time.clock_gettime(clock_thread) - start.icpu class request(object): def __init__(self, env):