/** * Prints out profiling information for queries executed * */ public function showProfile($showQueries = false) { $profiler = $this->_zendDb->getProfiler(); $totalTime = $profiler->getTotalElapsedSecs(); $queryCount = $profiler->getTotalNumQueries(); $longestTime = 0; $longestQuery = null; if ($showQueries) { print '<table border="1" cellspacing="0" cellpadding="5">'; } foreach ($profiler->getQueryProfiles() as $i => $query) { if ($showQueries) { print '<tr><td>' . $i . '</td>'; print '<td>' . $query->getElapsedSecs() . '</td><td>' . $query->getQuery() . '</td>'; print '</tr>'; } if ($query->getElapsedSecs() > $longestTime) { $longestTime = $query->getElapsedSecs(); $longestQuery = $query->getQuery(); } } if ($showQueries) { print '</table>'; } print '<pre>'; echo 'Executed ' . $queryCount . ' queries in ' . $totalTime . ' seconds' . "\n"; echo 'Average query length: ' . $totalTime / $queryCount . ' seconds' . "\n"; echo 'Queries per second: ' . $queryCount / $totalTime . "\n"; echo 'Longest query length: ' . $longestTime . "\n"; echo "Longest query: \n" . $longestQuery . "\n"; print '</pre>'; }