Exemplo n.º 1
0
 /**
  * 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>';
 }