DB Profiler
1 2 3 4 56 7 8 9 1011 12 13 14 1516 17 18 19 2021 22 23 24 2526 27 28 29 3031 32 33 34 3536 37 38 39 4041 42 43 44 45 | <?php class Zend_View_Helper_Profiler { private $view; public function profiler() { $db = Zend_Registry::get('db'); $profiler = $db->getProfiler(); $totalTime = $profiler->getTotalElapsedSecs(); $queryCount = $profiler->getTotalNumQueries(); $longestTime = 0; $longestQuery = null; $queries = ""; if ($profiler->getQueryProfiles() != null) { foreach ($profiler->getQueryProfiles() as $query) { if ($query->getElapsedSecs() > $longestTime) { $longestTime = $query->getElapsedSecs(); $longestQuery = $query->getQuery(); } $queries .= 'Query length: ' . round($query->getElapsedSecs(), 3) . " sec.<br />n"; $queries .= "Query: n" . $query->getQuery() . "<br />n"; $queries .= "<br />n"; } $queryOut = 'Executed ' . $queryCount . ' queries in ' . round($totalTime, 3) . ' sec.' . "<br />n"; $queryOut .= 'Average query length: ' . round(($totalTime / $queryCount), 3) . ' sec.' . "<br />n"; $queryOut .= 'Queries per second: ' . round(($queryCount / $totalTime),3) . "<br />n"; $queryOut .= 'Longest query length: ' . round($longestTime,3) . " sec.<br />n"; $queryOut .= "Longest query: n" . $longestQuery . "<br />n"; $queryOut .= "Queries: n" . $queries . "<br />n"; } $out = '<div id="profiler" style="display:none">'; if (isset($queryOut)) { $out .= $queryOut; } $out .= "</div>"; return $out; } } |
Comments
You must login before commenting on a snippet. If you do not have an account, please register.
Snippet description
View_Helper for Zend_Db's profiler
Snippet details
- Created:
-
Denis Baklikov
- Edited:
-
Denis Baklikov
- Revision Id:
- 24
- Edit Message:
- Initial Release
- Tags:
- view_helper db profiler
- Comments:
- 0
- Views:
- 1439
- Points:
- 0 (0 votes)