diff options
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) + | 
