X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=python3%2Fashd%2Fperf.py;h=3b8f63b311600af2cfd1cf0cd778fca9b671ebd5;hb=64c8865417aedcf88ff3f6f647ee2ccf4a3522ed;hp=0d1e7aa0737e3b364f8e7e207dd2f4457b56f1b4;hpb=d5ee5cdea79ab756f4a7908c19b8232d57a1a3a8;p=ashd.git diff --git a/python3/ashd/perf.py b/python3/ashd/perf.py index 0d1e7aa..3b8f63b 100644 --- a/python3/ashd/perf.py +++ b/python3/ashd/perf.py @@ -3,6 +3,11 @@ try: import pdm.perf except: pdm = None +try: + import resource + ru_thread = resource.RUSAGE_THREAD +except: + ru_thread = None reqstat = {} @@ -13,15 +18,29 @@ 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 ru_thread is not None: + ru = resource.getrusage(ru_thread) + self.icpu = ru.ru_utime + ru.ru_stime 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 ru_thread is not None: + ru = resource.getrusage(ru_thread) + self.cputime = ru.ru_utime + ru.ru_stime - start.icpu class request(object): def __init__(self, env):