diff --git a/laravel/profiling/profiler.php b/laravel/profiling/profiler.php index 9b6edfef..0dc837c3 100644 --- a/laravel/profiling/profiler.php +++ b/laravel/profiling/profiler.php @@ -14,6 +14,15 @@ class Profiler { * @var array */ protected static $data = array('queries' => array(), 'logs' => array()); + + /** + * The time when the profiler was setup. + * + * This is used for generating the total page rendering time. + * + * @var float + */ + protected static $start_time; /** * Get the rendered contents of the Profiler. @@ -28,6 +37,10 @@ public static function render($response) // type applications, so we will not send anything in those scenarios. if ( ! Request::ajax()) { + if ($this->start_time) + { + static::$data['time'] = number_format((microtime(true) - $this->start_time) * 1000, 2); + } return render('path: '.__DIR__.'/template'.BLADE_EXT, static::$data); } } @@ -67,6 +80,9 @@ public static function query($sql, $bindings, $time) */ public static function attach() { + // Record when the profiler was setup (as a rough measure for render time) + $this->start_time = microtime(true); + // First we'll attach to the query and log events. These allow us to catch // all of the SQL queries and log messages that come through Laravel, // and we will pass them onto the Profiler for simple storage.