MINI
C:
/
php5.2.9
/
PEAR
/
symfony
/
lib
/
debug
/
Upload File:
files >> C:/php5.2.9/PEAR/symfony/lib/debug/sfWebDebugPanelTimer.class.php
<?php /* * This file is part of the symfony package. * (c) Fabien Potencier <fabien.potencier@symfony-project.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ /** * sfWebDebugPanelTimer adds a panel to the web debug toolbar with timer information. * * @package symfony * @subpackage debug * @author Fabien Potencier <fabien.potencier@symfony-project.com> * @version SVN: $Id: sfWebDebugPanelTimer.class.php 12982 2008-11-13 17:25:10Z hartym $ */ class sfWebDebugPanelTimer extends sfWebDebugPanel { static protected $startTime = null; /** * Constructor. * * @param sfWebDebug $webDebug The web debut toolbar instance */ public function __construct(sfWebDebug $webDebug) { parent::__construct($webDebug); $this->webDebug->getEventDispatcher()->connect('debug.web.filter_logs', array($this, 'filterLogs')); } public function getTitle() { return '<img src="'.$this->webDebug->getOption('image_root_path').'/time.png" alt="Time" /> '.$this->getTotalTime().' ms'; } public function getPanelTitle() { return 'Timers'; } public function getPanelContent() { if (sfTimerManager::getTimers()) { $totalTime = $this->getTotalTime(); $panel = '<table class="sfWebDebugLogs" style="width: 300px"><tr><th>type</th><th>calls</th><th>time (ms)</th><th>time (%)</th></tr>'; foreach (sfTimerManager::getTimers() as $name => $timer) { $panel .= sprintf('<tr><td class="sfWebDebugLogType">%s</td><td class="sfWebDebugLogNumber" style="text-align: right">%d</td><td style="text-align: right">%.2f</td><td style="text-align: right">%d</td></tr>', $name, $timer->getCalls(), $timer->getElapsedTime() * 1000, $totalTime ? ($timer->getElapsedTime() * 1000 * 100 / $totalTime) : 'N/A'); } $panel .= '</table>'; return $panel; } } public function filterLogs(sfEvent $event, $logs) { $newLogs = array(); foreach ($logs as $log) { if ('sfWebDebugLogger' != $log['type']) { $newLogs[] = $log; } } return $newLogs; } static public function startTime() { self::$startTime = microtime(true); } static public function isStarted() { return !is_null(self::$startTime); } protected function getTotalTime() { return !is_null(self::$startTime) ? sprintf('%.0f', (microtime(true) - self::$startTime) * 1000) : 0; } }
Copyright ©2021 || Defacer Indonesia