From d163dea7a5e6f07de690a43a65409df072fdb612 Mon Sep 17 00:00:00 2001 From: Rob Hudson Date: Thu, 11 Dec 2008 14:04:45 -0800 Subject: 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. --- debug_toolbar/panels/timer.py | 29 ++++++++++++++++++++++------- 1 file 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 '' -- cgit v1.2.3