aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Hudson2008-12-11 14:04:45 -0800
committerRob Hudson2008-12-11 14:04:45 -0800
commitd163dea7a5e6f07de690a43a65409df072fdb612 (patch)
tree3f3c801ce2114806f9ddab4703b39a6b84da4a1e
parentec08e18be48929e83b1c14ae13d439e5d6bdf2fc (diff)
downloaddjango-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.py29
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 ''