[limb-svn] r6799 - 3.x/trunk/limb/dbal/src/drivers
svn at limb-project.com
svn at limb-project.com
Thu Feb 14 15:32:06 MSK 2008
Author: serega
Date: 2008-02-14 15:32:06 +0300 (Thu, 14 Feb 2008)
New Revision: 6799
URL: http://fisheye.limb-project.com/changelog/limb/?cs=6799
Modified:
3.x/trunk/limb/dbal/src/drivers/lmbAuditDbConnection.class.php
Log:
-- lmbAuditDbConnection now also collects execution times of queries
Modified: 3.x/trunk/limb/dbal/src/drivers/lmbAuditDbConnection.class.php
===================================================================
--- 3.x/trunk/limb/dbal/src/drivers/lmbAuditDbConnection.class.php 2008-02-13 21:34:17 UTC (rev 6798)
+++ 3.x/trunk/limb/dbal/src/drivers/lmbAuditDbConnection.class.php 2008-02-14 12:32:06 UTC (rev 6799)
@@ -13,18 +13,27 @@
/**
* class lmbAuditDbConnection.
- * Remembers queries for later analysis, especially useful in tests
+ * Remembers stats for later analysis, especially useful in tests
* @package dbal
* @version $Id$
*/
class lmbAuditDbConnection extends lmbDbConnectionDecorator
{
- protected $queries = null;
+ protected $stats = null;
function execute($sql)
{
- $this->queries[] = $sql;
- return parent :: execute($sql);
+ $info = array('query' => $sql);
+
+ $start_time = microtime(true);
+
+ $res = parent :: execute($sql);
+
+ $info['time'] = round(microtime(true) - $start_time, 6);
+
+ $this->stats[] = $info;
+
+ return $res;
}
function newStatement($sql)
@@ -36,27 +45,31 @@
function countQueries()
{
- return sizeof($this->queries);
+ return sizeof($this->stats);
}
function resetStats()
{
- $this->queries = array();
+ $this->stats = array();
}
function getQueries($reg_exp = '')
{
- if(!$reg_exp)
- return $this->queries;
-
$res = array();
- foreach($this->queries as $query)
+ foreach($this->stats as $info)
{
- if(preg_match('/' . $reg_exp . '/i', $query))
+ $query = $info['query'];
+ if(!$reg_exp || preg_match('/' . $reg_exp . '/i', $query))
$res[] = $query;
}
+
return $res;
}
+
+ function getStats()
+ {
+ return $this->stats;
+ }
}
More information about the limb-svn
mailing list