Browse Source

minor fixes of debugger.

tags/2.0.0-beta
Qiang Xue 11 years ago
parent
commit
89c61c9cb4
  1. 1
      framework/yii/debug/assets/main.css
  2. 2
      framework/yii/debug/panels/DbPanel.php
  3. 9
      framework/yii/debug/panels/ProfilingPanel.php

1
framework/yii/debug/assets/main.css

@ -144,7 +144,6 @@ ul.trace {
.list-group .glyphicon { .list-group .glyphicon {
float: right; float: right;
margin-right: -15px;
} }
td, th { td, th {

2
framework/yii/debug/panels/DbPanel.php

@ -8,6 +8,7 @@
namespace yii\debug\panels; namespace yii\debug\panels;
use yii\debug\Panel; use yii\debug\Panel;
use yii\helpers\ArrayHelper;
use yii\log\Logger; use yii\log\Logger;
use yii\helpers\Html; use yii\helpers\Html;
@ -47,6 +48,7 @@ EOD;
public function getDetail() public function getDetail()
{ {
$timings = $this->calculateTimings(); $timings = $this->calculateTimings();
ArrayHelper::multisort($timings, 3, true);
$rows = array(); $rows = array();
foreach ($timings as $timing) { foreach ($timings as $timing) {
$duration = sprintf('%.1f ms', $timing[3] * 1000); $duration = sprintf('%.1f ms', $timing[3] * 1000);

9
framework/yii/debug/panels/ProfilingPanel.php

@ -47,23 +47,20 @@ EOD;
$timings = array(); $timings = array();
$stack = array(); $stack = array();
foreach ($messages as $i => $log) { foreach ($messages as $i => $log) {
list($token, $level, $category, $timestamp) = $log; list($token, $level, $category, $timestamp, $traces) = $log;
$log[4] = $i;
if ($level == Logger::LEVEL_PROFILE_BEGIN) { if ($level == Logger::LEVEL_PROFILE_BEGIN) {
$stack[] = $log; $stack[] = $log;
} elseif ($level == Logger::LEVEL_PROFILE_END) { } elseif ($level == Logger::LEVEL_PROFILE_END) {
if (($last = array_pop($stack)) !== null && $last[0] === $token) { if (($last = array_pop($stack)) !== null && $last[0] === $token) {
$timings[$last[4]] = array(count($stack), $token, $category, $timestamp - $last[3]); $timings[] = array(count($stack), $token, $category, $timestamp - $last[3], $traces);
} }
} }
} }
$now = microtime(true); $now = microtime(true);
while (($last = array_pop($stack)) !== null) { while (($last = array_pop($stack)) !== null) {
$delta = $now - $last[3]; $timings[] = array(count($stack), $last[0], $last[2], $now - $last[3], $last[4]);
$timings[$last[4]] = array(count($stack), $last[0], $last[2], $delta);
} }
ksort($timings);
$rows = array(); $rows = array();
foreach ($timings as $timing) { foreach ($timings as $timing) {

Loading…
Cancel
Save