diff options
author | Robin Appelman <icewind@owncloud.com> | 2014-10-03 01:35:07 +0200 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2014-10-20 13:38:37 +0200 |
commit | b71d1d3616115653eb928489093fc2581d830cf5 (patch) | |
tree | e46ef96d1cf112dff8d9a206381d46ff71c4ad1d /lib/public | |
parent | d38050cf52a623a0a4d29044bb50d3c247c8245c (diff) | |
download | nextcloud-server-b71d1d3616115653eb928489093fc2581d830cf5.tar.gz nextcloud-server-b71d1d3616115653eb928489093fc2581d830cf5.zip |
Add QueryLogger interface to allow apps to get a list of used queries
Diffstat (limited to 'lib/public')
-rw-r--r-- | lib/public/debug/iquery.php | 26 | ||||
-rw-r--r-- | lib/public/debug/iquerylogger.php | 27 | ||||
-rw-r--r-- | lib/public/iservercontainer.php | 9 |
3 files changed, 62 insertions, 0 deletions
diff --git a/lib/public/debug/iquery.php b/lib/public/debug/iquery.php new file mode 100644 index 00000000000..070c4d61196 --- /dev/null +++ b/lib/public/debug/iquery.php @@ -0,0 +1,26 @@ +<?php +/** + * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OCP\Debug; + +interface IQuery { + /** + * @return string + */ + public function getSql(); + + /** + * @return array + */ + public function getParams(); + + /** + * @return float + */ + public function getDuration(); +} diff --git a/lib/public/debug/iquerylogger.php b/lib/public/debug/iquerylogger.php new file mode 100644 index 00000000000..fe8eae089da --- /dev/null +++ b/lib/public/debug/iquerylogger.php @@ -0,0 +1,27 @@ +<?php +/** + * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OCP\Debug; + +use Doctrine\DBAL\Logging\SQLLogger; + +interface IQueryLogger extends SQLLogger { + /** + * @param string $sql + * @param array $params + * @param array $types + */ + public function startQuery($sql, array $params = null, array $types = null); + + public function stopQuery(); + + /** + * @return \OCP\Debug\IQuery[] + */ + public function getQueries(); +} diff --git a/lib/public/iservercontainer.php b/lib/public/iservercontainer.php index 57bbf628993..97ff74385a2 100644 --- a/lib/public/iservercontainer.php +++ b/lib/public/iservercontainer.php @@ -255,4 +255,13 @@ interface IServerContainer { * @return \OCP\Debug\IEventLogger */ function getEventLogger(); + + /** + * Get the active query logger + * + * The returned logger only logs data when debug mode is enabled + * + * @return \OCP\Debug\IQueryLogger + */ + function getQueryLogger(); } |