diff options
| author | Yann Malet | 2011-09-10 02:25:53 +0200 |
|---|---|---|
| committer | Yann Malet | 2011-09-10 02:25:53 +0200 |
| commit | dddfb118720733a0956440663d659653875b2dd9 (patch) | |
| tree | ec2dc3bbf075ae9a3e221d9ba10603e948b1d463 | |
| parent | 77e3a4ab3301df41f35866bd3b8ee16136bc98fe (diff) | |
| download | django-debug-toolbar-dddfb118720733a0956440663d659653875b2dd9.tar.bz2 | |
Apply the same changes to the timer panel
| -rw-r--r-- | debug_toolbar/panels/timer.py | 64 |
1 files changed, 36 insertions, 28 deletions
diff --git a/debug_toolbar/panels/timer.py b/debug_toolbar/panels/timer.py index d866166..ef32988 100644 --- a/debug_toolbar/panels/timer.py +++ b/debug_toolbar/panels/timer.py @@ -27,10 +27,38 @@ class TimerDebugPanel(DebugPanel): self._start_rusage = resource.getrusage(resource.RUSAGE_SELF) def process_response(self, request, response): - self.total_time = (time.time() - self._start_time) * 1000 + total_time = (time.time() - self._start_time) * 1000 if self.has_resource: self._end_rusage = resource.getrusage(resource.RUSAGE_SELF) + utime = 1000 * self._elapsed_ru('ru_utime') + stime = 1000 * self._elapsed_ru('ru_stime') + vcsw = self._elapsed_ru('ru_nvcsw') + ivcsw = self._elapsed_ru('ru_nivcsw') + minflt = self._elapsed_ru('ru_minflt') + majflt = self._elapsed_ru('ru_majflt') +# these are documented as not meaningful under Linux. If you're running BSD +# feel free to enable them, and add any others that I hadn't gotten to before +# I noticed that I was getting nothing but zeroes and that the docs agreed. :-( +# +# blkin = self._elapsed_ru('ru_inblock') +# blkout = self._elapsed_ru('ru_oublock') +# swap = self._elapsed_ru('ru_nswap') +# rss = self._end_rusage.ru_maxrss +# srss = self._end_rusage.ru_ixrss +# urss = self._end_rusage.ru_idrss +# usrss = self._end_rusage.ru_isrss + + self.stats = { + 'total_time': total_time, + 'utime': utime, + 'stime': stime, + 'vcsw': vcsw, + 'ivcsw': ivcsw, + 'minflt': minflt, + 'majflt': majflt, + } + def nav_title(self): return _('Time') @@ -39,9 +67,9 @@ class TimerDebugPanel(DebugPanel): 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 'CPU: %0.2fms (%0.2fms)' % ((utime + stime) * 1000.0, self.total_time) + return 'CPU: %0.2fms (%0.2fms)' % ((utime + stime) * 1000.0, self.stats['total_time']) else: - return 'TOTAL: %0.2fms' % (self.total_time) + return 'TOTAL: %0.2fms' % (self.stats[total_time]) def title(self): return _('Resource Usage') @@ -53,33 +81,13 @@ class TimerDebugPanel(DebugPanel): return getattr(self._end_rusage, name) - getattr(self._start_rusage, name) def content(self): - - utime = 1000 * self._elapsed_ru('ru_utime') - stime = 1000 * self._elapsed_ru('ru_stime') - vcsw = self._elapsed_ru('ru_nvcsw') - ivcsw = self._elapsed_ru('ru_nivcsw') - minflt = self._elapsed_ru('ru_minflt') - majflt = self._elapsed_ru('ru_majflt') - -# these are documented as not meaningful under Linux. If you're running BSD -# feel free to enable them, and add any others that I hadn't gotten to before -# I noticed that I was getting nothing but zeroes and that the docs agreed. :-( -# -# blkin = self._elapsed_ru('ru_inblock') -# blkout = self._elapsed_ru('ru_oublock') -# swap = self._elapsed_ru('ru_nswap') -# rss = self._end_rusage.ru_maxrss -# srss = self._end_rusage.ru_ixrss -# urss = self._end_rusage.ru_idrss -# usrss = self._end_rusage.ru_isrss - # TODO l10n on values rows = ( - (_('User CPU time'), '%0.3f msec' % utime), - (_('System CPU time'), '%0.3f msec' % stime), - (_('Total CPU time'), '%0.3f msec' % (utime + stime)), - (_('Elapsed time'), '%0.3f msec' % self.total_time), - (_('Context switches'), '%d voluntary, %d involuntary' % (vcsw, ivcsw)), + (_('User CPU time'), '%0.3f msec' % self.stats['utime']), + (_('System CPU time'), '%0.3f msec' % self.stats['stime']), + (_('Total CPU time'), '%0.3f msec' % (self.stats['utime'] + self.stats['stime'])), + (_('Elapsed time'), '%0.3f msec' % self.stats['total_time']), + (_('Context switches'), '%d voluntary, %d involuntary' % (self.stats['vcsw'], self.stats['ivcsw'])), # ('Memory use', '%d max RSS, %d shared, %d unshared' % (rss, srss, urss + usrss)), # ('Page faults', '%d no i/o, %d requiring i/o' % (minflt, majflt)), # ('Disk operations', '%d in, %d out, %d swapout' % (blkin, blkout, swap)), |
