/**
  * Stop timers for rendering.
  *
  * @param string $layoutFile
  */
 public function afterLayout($layoutFile)
 {
     DebugTimer::stop('viewRender');
     DebugTimer::stop('controllerRender');
     DebugMemory::record(__d('debug_kit', 'View render complete'));
     $this->_renderComplete = true;
 }
Example #2
0
 /**
  * Renders view for given action and layout.
  * Adds timers, for all subsequent rendering, and injects the debugKit toolbar.
  *
  * @param string $action Name of action to render for
  * @param string $layout Layout to use
  * @return string Rendered Element
  */
 public function render($action = null, $layout = null)
 {
     DebugTimer::start('viewRender', __d('debug_kit', 'Rendering View'));
     $out = parent::render($action, $layout);
     DebugTimer::stop('viewRender');
     DebugTimer::stop('controllerRender');
     DebugMemory::record(__d('debug_kit', 'View render complete'));
     if (empty($this->request->params['requested']) && $this->Helpers && $this->Helpers->attached('Toolbar')) {
         $backend = $this->Helpers->Toolbar->getName();
         $this->Helpers->Toolbar->{$backend}->send();
     }
     if (empty($this->output)) {
         return $out;
     }
     return $this->output;
 }
Example #3
0
 /**
  * test making memory use markers.
  *
  * @return void
  */
 public function testMemorySettingAndGetting()
 {
     DebugMemory::clear();
     $result = DebugMemory::record('test marker');
     $this->assertTrue($result);
     $result = DebugMemory::getAll(true);
     $this->assertEquals(count($result), 1);
     $this->assertTrue(isset($result['test marker']));
     $this->assertTrue(is_numeric($result['test marker']));
     $result = DebugMemory::getAll();
     $this->assertTrue(empty($result));
     DebugMemory::record('test marker');
     DebugMemory::record('test marker');
     $result = DebugMemory::getAll();
     $this->assertEquals(count($result), 2);
     $this->assertTrue(isset($result['test marker']));
     $this->assertTrue(isset($result['test marker #2']));
 }
 /**
  * beforeRender callback
  *
  * Calls beforeRender on all the panels and set the aggregate to the controller.
  *
  * @param Controller $controller
  * @return void
  */
 public function beforeRender(Controller $controller)
 {
     if (!class_exists('DebugTimer')) {
         return null;
     }
     DebugTimer::stop('controllerAction');
     DebugTimer::start('processToolbar', __d('debug_kit', 'Processing toolbar data'));
     $vars = $this->_gatherVars($controller);
     $this->_saveState($controller, $vars);
     $this->javascript = array_unique(array_merge($this->javascript, $vars['javascript']));
     $this->css = array_unique(array_merge($this->css, $vars['css']));
     unset($vars['javascript'], $vars['css']);
     $controller->set(array('debugToolbarPanels' => $vars, 'debugToolbarJavascript' => $this->javascript, 'debugToolbarCss' => $this->css));
     $isHtml = !isset($controller->request->params['ext']) || $controller->request->params['ext'] === 'html';
     if (!$controller->request->is('ajax') && $isHtml) {
         $format = 'Html';
     } else {
         $format = 'FirePhp';
     }
     $controller->helpers[] = 'DebugKit.DebugTimer';
     $controller->helpers['DebugKit.Toolbar'] = array('output' => sprintf('DebugKit.%sToolbar', $format), 'cacheKey' => $this->cacheKey, 'cacheConfig' => 'debug_kit', 'forceEnable' => $this->settings['forceEnable']);
     DebugTimer::stop('processToolbar');
     DebugMemory::record(__d('debug_kit', 'Controller render start'));
 }
Example #5
0
 /**
  * Stores a memory point in the internal tracker.
  * Takes a optional message name which can be used to identify the memory point.
  * If no message is supplied a debug_backtrace will be done to identifty the memory point.
  * If you don't have memory_get_xx methods this will not work.
  *
  * @param string $message Message to identify this memory point.
  * @return boolean
  * @deprecated Use DebugMemory::getAll() instead.
  */
 public static function setMemoryPoint($message = null)
 {
     return DebugMemory::record($message);
 }
Example #6
0
 /**
  * beforeRender callback
  *
  * Calls beforeRender on all the panels and set the aggregate to the controller.
  *
  * @return void
  **/
 public function beforeRender($controller)
 {
     if (!class_exists('DebugTimer')) {
         return null;
     }
     DebugTimer::stop('controllerAction');
     $vars = $this->_gatherVars($controller);
     $this->_saveState($controller, $vars);
     $controller->set(array('debugToolbarPanels' => $vars, 'debugToolbarJavascript' => $this->javascript));
     DebugTimer::start('controllerRender', __d('debug_kit', 'Render Controller Action'));
     DebugMemory::record(__d('debug_kit', 'Controller render start'));
 }