merged branch havvg/hotfix/Propel1/stopwatch (PR #3392)

Commits
-------

13f0e4a fix PropelLogger stopwatch events

Discussion
----------

fix PropelLogger stopwatch events

* add queries like "SET NAMES 'UTF8';"
* track only prepared statements
* add named labels to the StopwatchEvents corresponding to the query counter

---------------------------------------------------------------------------

by willdurand at 2012-02-17T13:47:19Z

I'm ok with this PR, we discussed with @havvg last night :)
This commit is contained in:
Fabien Potencier 2012-02-18 09:43:49 +01:00
commit 6299ee8247

View File

@ -37,7 +37,7 @@ class PropelLogger
*/
protected $stopwatch;
private $isPrepare;
private $isPrepared;
/**
* Constructor.
@ -50,7 +50,7 @@ class PropelLogger
$this->logger = $logger;
$this->queries = array();
$this->stopwatch = $stopwatch;
$this->isPrepare = true;
$this->isPrepared = false;
}
/**
@ -135,14 +135,17 @@ class PropelLogger
$add = true;
if (null !== $this->stopwatch) {
if ($this->isPrepare) {
$this->stopwatch->start('propel', 'propel');
$this->isPrepare = false;
$trace = debug_backtrace();
$method = $trace[2]['args'][2];
$watch = 'Propel Query '.(count($this->queries)+1);
if ('PropelPDO::prepare' === $method) {
$this->isPrepared = true;
$this->stopwatch->start($watch, 'propel');
$add = false;
} else {
$this->stopwatch->stop('propel');
$this->isPrepare = true;
} elseif ($this->isPrepared) {
$this->stopwatch->stop($watch);
}
}