Measure request duration request_time is a datetime.timedelta
(self, resp, req, environ, request_time)
| 94 | |
| 95 | # access logging |
| 96 | def access(self, resp, req, environ, request_time): |
| 97 | """Measure request duration |
| 98 | request_time is a datetime.timedelta |
| 99 | """ |
| 100 | Logger.access(self, resp, req, environ, request_time) |
| 101 | duration_in_ms = request_time.seconds * 1000 + float(request_time.microseconds) / 10 ** 3 |
| 102 | status = resp.status |
| 103 | if isinstance(status, bytes): |
| 104 | status = status.decode('utf-8') |
| 105 | if isinstance(status, str): |
| 106 | status = int(status.split(None, 1)[0]) |
| 107 | self.timer("gunicorn.request.duration", duration_in_ms) |
| 108 | self.increment("gunicorn.requests", 1) |
| 109 | self.increment("gunicorn.request.status.%d" % status, 1) |
| 110 | |
| 111 | # statsD methods |
| 112 | # you can use those directly if you want |