1
0
mirror of https://github.com/dg/dibi.git synced 2025-08-11 08:34:59 +02:00

numOfQueries and totalTime moved to profilers

This commit is contained in:
David Grudl
2012-02-06 18:15:52 +01:00
parent 24511a1d96
commit efa3a48232
5 changed files with 32 additions and 19 deletions

View File

@@ -44,12 +44,6 @@ class DibiConnection extends DibiObject
/** @var DibiHashMap Substitutes for identifiers */
private $substitutes;
/** @var int Elapsed time for all queries */
public $totalTime = 0;
/** @var int Number or queries */
public $numOfQueries = 0;
/**
@@ -345,9 +339,6 @@ class DibiConnection extends DibiObject
$this->connected || $this->connect();
$event = $this->onEvent ? new DibiEvent($this, DibiEvent::QUERY, $sql) : NULL;
$this->numOfQueries++;
dibi::$numOfQueries++;
dibi::$sql = $sql;
try {
$res = $this->driver->query($sql);

View File

@@ -80,6 +80,8 @@ class DibiEvent
}
dibi::$elapsedTime = FALSE;
dibi::$numOfQueries++;
dibi::$sql = $sql;
}
@@ -96,7 +98,6 @@ class DibiEvent
$this->time += microtime(TRUE);
dibi::$elapsedTime = $this->time;
dibi::$totalTime += $this->time;
$this->connection->totalTime += $this->time;
return $this;
}

View File

@@ -28,6 +28,9 @@ class DibiFirePhpLogger extends DibiObject
/** @var int */
public $filter;
/** @var int Elapsed time for all queries */
public $totalTime = 0;
/** @var array */
private static $fireTable = array(array('Time', 'SQL Statement', 'Rows', 'Connection'));
@@ -60,6 +63,7 @@ class DibiFirePhpLogger extends DibiObject
return;
}
$this->totalTime += $event->time;
self::$fireTable[] = array(
sprintf('%0.3f', $event->time * 1000),
strlen($event->sql) > self::$maxLength ? substr($event->sql, 0, self::$maxLength) . '...' : $event->sql,
@@ -74,7 +78,7 @@ class DibiFirePhpLogger extends DibiObject
$payload = json_encode(array(
array(
'Type' => 'TABLE',
'Label' => 'dibi profiler (' . dibi::$numOfQueries . ' SQL queries took ' . sprintf('%0.3f', dibi::$totalTime * 1000) . ' ms)',
'Label' => 'dibi profiler (' . count($this->events) . ' SQL queries took ' . sprintf('%0.3f', $this->totalTime * 1000) . ' ms)',
),
self::$fireTable,
));