diff options
| author | Rob Hudson | 2008-12-11 14:04:45 -0800 |
|---|---|---|
| committer | Rob Hudson | 2008-12-11 14:04:45 -0800 |
| commit | d163dea7a5e6f07de690a43a65409df072fdb612 (patch) | |
| tree | 3f3c801ce2114806f9ddab4703b39a6b84da4a1e | |
| parent | ec08e18be48929e83b1c14ae13d439e5d6bdf2fc (diff) | |
| download | django-debug-toolbar-d163dea7a5e6f07de690a43a65409df072fdb612.tar.bz2 | |
Win32 systems don't have the resource module. This patch codes around it so only
the basic timings are shown for those that don't have the resource module, and
finer grained timings are shown for those that do.
| -rw-r--r-- | debug_toolbar/panels/timer.py | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/debug_toolbar/panels/timer.py b/debug_toolbar/panels/timer.py index cafdb05..352bf55 100644 --- a/debug_toolbar/panels/timer.py +++ b/debug_toolbar/panels/timer.py @@ -1,4 +1,7 @@ -import resource +try: + import resource +except ImportError: + pass # Will fail on Win32 systems import time from django.template.loader import render_to_string from debug_toolbar.panels import DebugPanel @@ -9,20 +12,32 @@ class TimerDebugPanel(DebugPanel): Panel that displays the time a response took in milliseconds. """ name = 'Timer' - has_content = True + try: # if resource module not available, don't show content panel + resource + except NameError: + has_content = False + has_resource = False + else: + has_content = True + has_resource = True def process_request(self, request): self._start_time = time.time() - self._start_rusage = resource.getrusage(resource.RUSAGE_SELF) + if self.has_resource: + self._start_rusage = resource.getrusage(resource.RUSAGE_SELF) def process_response(self, request, response): self.total_time = (time.time() - self._start_time) * 1000 - self._end_rusage = resource.getrusage(resource.RUSAGE_SELF) + if self.has_resource: + self._end_rusage = resource.getrusage(resource.RUSAGE_SELF) def title(self): - utime = self._end_rusage.ru_utime - self._start_rusage.ru_utime - stime = self._end_rusage.ru_stime - self._start_rusage.ru_stime - return 'Time: %0.2fms, %0.2fms CPU' % (self.total_time, (utime + stime) * 1000.0) + if self.has_resource: + utime = self._end_rusage.ru_utime - self._start_rusage.ru_utime + stime = self._end_rusage.ru_stime - self._start_rusage.ru_stime + return 'Time: %0.2fms, %0.2fms CPU' % (self.total_time, (utime + stime) * 1000.0) + else: + return 'Time: %0.2fms' % (self.total_time) def url(self): return '' |
