summaryrefslogtreecommitdiffstats
path: root/lib/private/DB
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2020-09-25 14:47:14 +0200
committerJoas Schilling <coding@schilljs.com>2020-09-25 14:55:53 +0200
commit3212c074b95b7526767c33138dfa580790765aef (patch)
treecce9890e93c2fe492f8a7aeecccb13f3d78265bc /lib/private/DB
parent02e037174e4bb1f5f6e80bcd37e3069b7125bf09 (diff)
downloadnextcloud-server-3212c074b95b7526767c33138dfa580790765aef.tar.gz
nextcloud-server-3212c074b95b7526767c33138dfa580790765aef.zip
Log the number of queries built and executed
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'lib/private/DB')
-rw-r--r--lib/private/DB/Connection.php18
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/private/DB/Connection.php b/lib/private/DB/Connection.php
index c5766dcd7e0..ba3e6aae5bc 100644
--- a/lib/private/DB/Connection.php
+++ b/lib/private/DB/Connection.php
@@ -59,6 +59,12 @@ class Connection extends ReconnectWrapper implements IDBConnection {
protected $lockedTable = null;
+ /** @var int */
+ protected $queriesBuilt = 0;
+
+ /** @var int */
+ protected $queriesExecuted = 0;
+
public function connect() {
try {
return parent::connect();
@@ -68,12 +74,20 @@ class Connection extends ReconnectWrapper implements IDBConnection {
}
}
+ public function getStats(): array {
+ return [
+ 'built' => $this->queriesBuilt,
+ 'executed' => $this->queriesExecuted,
+ ];
+ }
+
/**
* Returns a QueryBuilder for the connection.
*
* @return \OCP\DB\QueryBuilder\IQueryBuilder
*/
public function getQueryBuilder() {
+ $this->queriesBuilt++;
return new QueryBuilder(
$this,
\OC::$server->getSystemConfig(),
@@ -90,6 +104,7 @@ class Connection extends ReconnectWrapper implements IDBConnection {
public function createQueryBuilder() {
$backtrace = $this->getCallerBacktrace();
\OC::$server->getLogger()->debug('Doctrine QueryBuilder retrieved in {backtrace}', ['app' => 'core', 'backtrace' => $backtrace]);
+ $this->queriesBuilt++;
return parent::createQueryBuilder();
}
@@ -102,6 +117,7 @@ class Connection extends ReconnectWrapper implements IDBConnection {
public function getExpressionBuilder() {
$backtrace = $this->getCallerBacktrace();
\OC::$server->getLogger()->debug('Doctrine ExpressionBuilder retrieved in {backtrace}', ['app' => 'core', 'backtrace' => $backtrace]);
+ $this->queriesBuilt++;
return parent::getExpressionBuilder();
}
@@ -191,6 +207,7 @@ class Connection extends ReconnectWrapper implements IDBConnection {
public function executeQuery($query, array $params = [], $types = [], QueryCacheProfile $qcp = null) {
$query = $this->replaceTablePrefix($query);
$query = $this->adapter->fixupStatement($query);
+ $this->queriesExecuted++;
return parent::executeQuery($query, $params, $types, $qcp);
}
@@ -211,6 +228,7 @@ class Connection extends ReconnectWrapper implements IDBConnection {
public function executeUpdate($query, array $params = [], array $types = []) {
$query = $this->replaceTablePrefix($query);
$query = $this->adapter->fixupStatement($query);
+ $this->queriesExecuted++;
return parent::executeUpdate($query, $params, $types);
}