Skip to content

Commit ee18112

Browse files
committed
Revert "Start of splitting off data collection classes and panel classes."
This reverts commit edf74be.
1 parent a771567 commit ee18112

File tree

3 files changed

+29
-48
lines changed

3 files changed

+29
-48
lines changed

debug_toolbar/debug/__init__.py

Whitespace-only changes.

debug_toolbar/debug/timer.py

Lines changed: 0 additions & 28 deletions
This file was deleted.

debug_toolbar/panels/timer.py

Lines changed: 29 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,51 +6,60 @@
66
from django.template.loader import render_to_string
77
from django.utils.translation import ugettext_lazy as _
88
from debug_toolbar.panels import DebugPanel
9-
from debug_toolbar.debug.timer import DebugTimer
109

1110
class TimerDebugPanel(DebugPanel):
1211
"""
1312
Panel that displays the time a response took in milliseconds.
1413
"""
1514
name = 'Timer'
16-
17-
def __init__(self, context={}):
18-
super(TimerDebugPanel, self).__init__(context)
19-
self.timer = DebugTimer()
20-
self.has_content = self.timer.has_resource
15+
try: # if resource module not available, don't show content panel
16+
resource
17+
except NameError:
18+
has_content = False
19+
has_resource = False
20+
else:
21+
has_content = True
22+
has_resource = True
2123

2224
def process_request(self, request):
23-
self.timer.start(request)
25+
self._start_time = time.time()
26+
if self.has_resource:
27+
self._start_rusage = resource.getrusage(resource.RUSAGE_SELF)
2428

2529
def process_response(self, request, response):
26-
self.timer.stop(request, response)
30+
self.total_time = (time.time() - self._start_time) * 1000
31+
if self.has_resource:
32+
self._end_rusage = resource.getrusage(resource.RUSAGE_SELF)
2733

2834
def nav_title(self):
2935
return _('Time')
3036

3137
def nav_subtitle(self):
3238
# TODO l10n
33-
if self.timer.has_resource:
34-
utime = self.timer._end_rusage.ru_utime - self.timer._start_rusage.ru_utime
35-
stime = self.timer._end_rusage.ru_stime - self.timer._start_rusage.ru_stime
36-
return 'CPU: %0.2fms (%0.2fms)' % ((utime + stime) * 1000.0, self.timer.total_time)
39+
if self.has_resource:
40+
utime = self._end_rusage.ru_utime - self._start_rusage.ru_utime
41+
stime = self._end_rusage.ru_stime - self._start_rusage.ru_stime
42+
return 'CPU: %0.2fms (%0.2fms)' % ((utime + stime) * 1000.0, self.total_time)
3743
else:
38-
return 'TOTAL: %0.2fms' % (self.timer.total_time)
44+
return 'TOTAL: %0.2fms' % (self.total_time)
3945

4046
def title(self):
4147
return _('Resource Usage')
4248

4349
def url(self):
4450
return ''
4551

52+
def _elapsed_ru(self, name):
53+
return getattr(self._end_rusage, name) - getattr(self._start_rusage, name)
54+
4655
def content(self):
4756

48-
utime = 1000 * self.timer.elapsed_ru('ru_utime')
49-
stime = 1000 * self.timer.elapsed_ru('ru_stime')
50-
vcsw = self.timer.elapsed_ru('ru_nvcsw')
51-
ivcsw = self.timer.elapsed_ru('ru_nivcsw')
52-
minflt = self.timer.elapsed_ru('ru_minflt')
53-
majflt = self.timer.elapsed_ru('ru_majflt')
57+
utime = 1000 * self._elapsed_ru('ru_utime')
58+
stime = 1000 * self._elapsed_ru('ru_stime')
59+
vcsw = self._elapsed_ru('ru_nvcsw')
60+
ivcsw = self._elapsed_ru('ru_nivcsw')
61+
minflt = self._elapsed_ru('ru_minflt')
62+
majflt = self._elapsed_ru('ru_majflt')
5463

5564
# these are documented as not meaningful under Linux. If you're running BSD
5665
# feel free to enable them, and add any others that I hadn't gotten to before
@@ -69,7 +78,7 @@ def content(self):
6978
(_('User CPU time'), '%0.3f msec' % utime),
7079
(_('System CPU time'), '%0.3f msec' % stime),
7180
(_('Total CPU time'), '%0.3f msec' % (utime + stime)),
72-
(_('Elapsed time'), '%0.3f msec' % self.timer.total_time),
81+
(_('Elapsed time'), '%0.3f msec' % self.total_time),
7382
(_('Context switches'), '%d voluntary, %d involuntary' % (vcsw, ivcsw)),
7483
# ('Memory use', '%d max RSS, %d shared, %d unshared' % (rss, srss, urss + usrss)),
7584
# ('Page faults', '%d no i/o, %d requiring i/o' % (minflt, majflt)),

0 commit comments

Comments
 (0)