[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