Opened 9 years ago
Last modified 13 months ago
#25704 assigned New feature
Response time in WSGIRequestHandler.log_request — at Initial Version
Reported by: | Andrei Fokau | Owned by: | nobody |
---|---|---|---|
Component: | HTTP handling | Version: | dev |
Severity: | Normal | Keywords: | |
Cc: | Sarah Abderemane | Triage Stage: | Accepted |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | yes |
Easy pickings: | no | UI/UX: | no |
Description
It's often useful to know how much time it takes for runserver
to respond without setting up a middleware or using the debug toolbar. Currently, one could monkeypatch WSGIRequestHandler (e.g. in manage.py
) in order to get the time:
from django.core.servers.basehttp import WSGIRequestHandler _handle = WSGIRequestHandler.handle def handle(self): self.request_started = time.time() _handle(self) def log_request(self, code='-', size='-'): self.log_message('"%s" %s %s %dms', self.requestline, str(code), str(size), (time.time() - self.request_started) * 1e3) WSGIRequestHandler.handle = handle WSGIRequestHandler.log_request = log_request
It seems easy to add it in the WSGIRequestHandler e.g. https://github.com/django/django/pull/5606. The response time is slightly longer than actual response time due to late measuring but think an easy implementation is better than the exact duration.
This feature is blocked by https://code.djangoproject.com/ticket/25684