public static function displayDbProfileReport()
    {
        $profiler = Db::get()->getProfiler();

        if (!$profiler->getEnabled()) {
            // To display the profiler you should enable enable_sql_profiler on your config/config.ini.php file
            return;
        }

        $infoIndexedByQuery = array();
        foreach ($profiler->getQueryProfiles() as $query) {
            if (isset($infoIndexedByQuery[$query->getQuery()])) {
                $existing = $infoIndexedByQuery[$query->getQuery()];
            } else {
                $existing = array('count' => 0, 'sumTimeMs' => 0);
            }
            $new = array('count'     => $existing['count'] + 1,
                         'sumTimeMs' => $existing['count'] + $query->getElapsedSecs() * 1000);
            $infoIndexedByQuery[$query->getQuery()] = $new;
        }

        uasort($infoIndexedByQuery, 'self::sortTimeDesc');

        $str = '<hr /><strong>SQL Profiler</strong><hr /><strong>Summary</strong><br/>';
        $totalTime = $profiler->getTotalElapsedSecs();
        $queryCount = $profiler->getTotalNumQueries();
        $longestTime = 0;
        $longestQuery = null;
        foreach ($profiler->getQueryProfiles() as $query) {
            if ($query->getElapsedSecs() > $longestTime) {
                $longestTime = $query->getElapsedSecs();
                $longestQuery = $query->getQuery();
            }
        }
        $str .= 'Executed ' . $queryCount . ' queries in ' . round($totalTime, 3) . ' seconds';
        $str .= '(Average query length: ' . round($totalTime / $queryCount, 3) . ' seconds)';
        $str .= '<br />Queries per second: ' . round($queryCount / $totalTime, 1);
        $str .= '<br />Longest query length: ' . round($longestTime, 3) . " seconds (<code>$longestQuery</code>)";
        Log::debug($str);
        self::getSqlProfilingQueryBreakdownOutput($infoIndexedByQuery);
    }
public static function displayDbProfileReport()
    {
        $profiler = Db::get()->getProfiler();

        if (!$profiler->getEnabled()) {
            // To display the profiler you should enable enable_sql_profiler on your config/config.ini.php file
            return;
        }

        $infoIndexedByQuery = array();
        foreach ($profiler->getQueryProfiles() as $query) {
            if (isset($infoIndexedByQuery[$query->getQuery()])) {
                $existing = $infoIndexedByQuery[$query->getQuery()];
            } else {
                $existing = array('count' => 0, 'sumTimeMs' => 0);
            }
            $new = array('count'     => $existing['count'] + 1,
                         'sumTimeMs' => $existing['count'] + $query->getElapsedSecs() * 1000);
            $infoIndexedByQuery[$query->getQuery()] = $new;
        }

        uasort($infoIndexedByQuery, 'self::sortTimeDesc');

        $str = '<hr /><strong>SQL Profiler</strong><hr /><strong>Summary</strong><br/>';
        $totalTime = $profiler->getTotalElapsedSecs();
        $queryCount = $profiler->getTotalNumQueries();
        $longestTime = 0;
        $longestQuery = null;
        foreach ($profiler->getQueryProfiles() as $query) {
            if ($query->getElapsedSecs() > $longestTime) {
                $longestTime = $query->getElapsedSecs();
                $longestQuery = $query->getQuery();
            }
        }
        $str .= 'Executed ' . $queryCount . ' queries in ' . round($totalTime, 3) . ' seconds';
        $str .= '(Average query length: ' . round($totalTime / $queryCount, 3) . ' seconds)';
        $str .= '<br />Queries per second: ' . round($queryCount / $totalTime, 1);
        $str .= '<br />Longest query length: ' . round($longestTime, 3) . " seconds (<code>$longestQuery</code>)";
        Log::debug($str);
        self::getSqlProfilingQueryBreakdownOutput($infoIndexedByQuery);
    }
public static function displayDbProfileReport ( ) { $ profiler = Db :: get ( ) -> getProfiler ( ) ; if ( ! $ profiler -> getEnabled ( ) ) { // To display the profiler you should enable enable_sql_profiler on your config/config.ini.php file return ; } $ infoIndexedByQuery = array ( ) ; foreach ( $ profiler -> getQueryProfiles ( ) as $ query ) { if ( isset ( $ infoIndexedByQuery [ $ query -> getQuery ( ) ] ) ) { $ existing = $ infoIndexedByQuery [ $ query -> getQuery ( ) ] ; } else { $ existing = array ( 'count' => 0 , 'sumTimeMs' => 0 ) ; } $ new = array ( 'count' => $ existing [ 'count' ] + 1 , 'sumTimeMs' => $ existing [ 'count' ] + $ query -> getElapsedSecs ( ) * 1000 ) ; $ infoIndexedByQuery [ $ query -> getQuery ( ) ] = $ new ; } uasort ( $ infoIndexedByQuery , 'self::sortTimeDesc' ) ; $ str = '<hr /><strong>SQL Profiler</strong><hr /><strong>Summary</strong><br/>' ; $ totalTime = $ profiler -> getTotalElapsedSecs ( ) ; $ queryCount = $ profiler -> getTotalNumQueries ( ) ; $ longestTime = 0 ; $ longestQuery = null ; foreach ( $ profiler -> getQueryProfiles ( ) as $ query ) { if ( $ query -> getElapsedSecs ( ) > $ longestTime ) { $ longestTime = $ query -> getElapsedSecs ( ) ; $ longestQuery = $ query -> getQuery ( ) ; } } $ str .= 'Executed ' . $ queryCount . ' queries in ' . round ( $ totalTime , 3 ) . ' seconds' ; $ str .= '(Average query length: ' . round ( $ totalTime / $ queryCount , 3 ) . ' seconds)' ; $ str .= '<br />Queries per second: ' . round ( $ queryCount / $ totalTime , 1 ) ; $ str .= '<br />Longest query length: ' . round ( $ longestTime , 3 ) . " seconds (<code>$longestQuery</code>)" ; Log :: debug ( $ str ) ; self :: getSqlProfilingQueryBreakdownOutput ( $ infoIndexedByQuery ) ; }
Outputs SQL Profiling reports from Zend

@throws \Exception
Outputs SQL Profiling reports from Zend