diff options
| author | Rob Hudson | 2010-03-03 14:35:42 -0800 |
|---|---|---|
| committer | Rob Hudson | 2010-03-03 14:35:42 -0800 |
| commit | edf74beb6e26ed34779dff17240d2fb4c436d451 (patch) | |
| tree | acaac84a7041386305f120c06469509aa2688d05 /debug_toolbar/debug/timer.py | |
| parent | 7ba80e06bc6302593d77be6be3242e37b071a46b (diff) | |
| download | django-debug-toolbar-edf74beb6e26ed34779dff17240d2fb4c436d451.tar.bz2 | |
Start of splitting off data collection classes and panel classes.
Diffstat (limited to 'debug_toolbar/debug/timer.py')
| -rw-r--r-- | debug_toolbar/debug/timer.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/debug_toolbar/debug/timer.py b/debug_toolbar/debug/timer.py new file mode 100644 index 0000000..d685bd4 --- /dev/null +++ b/debug_toolbar/debug/timer.py @@ -0,0 +1,28 @@ +try: + import resource +except ImportError: + pass # Will fail on Win32 systems +import time + + +class DebugTimer(object): + try: # if resource module not available, don't show content panel + resource + except NameError: + has_resource = False + else: + has_resource = True + + def elapsed_ru(self, name): + return getattr(self._end_rusage, name) - getattr(self._start_rusage, name) + + def start(self, request): + self._start_time = time.time() + if self.has_resource: + self._start_rusage = resource.getrusage(resource.RUSAGE_SELF) + + def stop(self, request, response): + self.total_time = (time.time() - self._start_time) * 1000 + if self.has_resource: + self._end_rusage = resource.getrusage(resource.RUSAGE_SELF) + |
