138 $this->_enabled = (boolean) $enable;
165 if (
null === $minimumSeconds) {
166 $this->_filterElapsedSecs =
null;
168 $this->_filterElapsedSecs = (integer) $minimumSeconds;
196 $this->_filterTypes = $queryTypes;
222 $this->_queryProfiles = array();
235 $this->_queryProfiles[] = clone
$query;
237 end($this->_queryProfiles);
239 return key($this->_queryProfiles);
255 if (!$this->_enabled) {
260 if (
null === $queryType) {
261 switch (strtolower(substr(ltrim($queryText), 0, 6))) {
283 #require_once 'Zend/Db/Profiler/Query.php'; 286 end($this->_queryProfiles);
288 return key($this->_queryProfiles);
302 if (!$this->_enabled) {
307 if (!isset($this->_queryProfiles[$queryId])) {
311 #require_once 'Zend/Db/Profiler/Exception.php'; 315 $qp = $this->_queryProfiles[$queryId];
318 if ($qp->hasEnded()) {
322 #require_once 'Zend/Db/Profiler/Exception.php'; 334 unset($this->_queryProfiles[$queryId]);
343 unset($this->_queryProfiles[$queryId]);
360 if (!array_key_exists($queryId, $this->_queryProfiles)) {
364 #require_once 'Zend/Db/Profiler/Exception.php'; 368 return $this->_queryProfiles[$queryId];
385 $queryProfiles = array();
386 foreach ($this->_queryProfiles as $key => $qp) {
387 if ($queryType ===
null) {
390 $condition = ($qp->getQueryType() & $queryType);
393 if (($qp->hasEnded() || $showUnfinished) && $condition) {
394 $queryProfiles[$key] = $qp;
398 if (empty($queryProfiles)) {
399 $queryProfiles =
false;
402 return $queryProfiles;
417 foreach ($this->_queryProfiles as $key => $qp) {
418 if (
null === $queryType) {
421 $condition = ($qp->getQueryType() & $queryType);
423 if (($qp->hasEnded()) && $condition) {
424 $elapsedSecs += $qp->getElapsedSecs();
440 if (
null === $queryType) {
441 return count($this->_queryProfiles);
445 foreach ($this->_queryProfiles as $qp) {
446 if ($qp->hasEnded() && ($qp->getQueryType() & $queryType)) {
463 if (empty($this->_queryProfiles)) {
467 end($this->_queryProfiles);
469 return current($this->_queryProfiles);
setFilterElapsedSecs($minimumSeconds=null)
getQueryProfiles($queryType=null, $showUnfinished=false)
getTotalNumQueries($queryType=null)
getTotalElapsedSecs($queryType=null)
__construct($enabled=false)
getQueryProfile($queryId)
queryStart($queryText, $queryType=null)
queryClone(Zend_Db_Profiler_Query $query)
setFilterQueryType($queryTypes=null)