From 87db136508f6599568eedf8f7696c6ebea4f56c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Wed, 4 Feb 2015 12:15:40 +0100 Subject: [PATCH] add debug log for memcache instantiation --- lib/base.php | 3 ++- lib/private/memcache/factory.php | 22 +++++++++++++++++----- lib/private/server.php | 3 ++- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/lib/base.php b/lib/base.php index 8a79d4624d..db75895857 100644 --- a/lib/base.php +++ b/lib/base.php @@ -708,7 +708,8 @@ class OC { $instanceId = \OC::$server->getSystemConfig()->getValue('instanceid', null); if ($instanceId) { try { - $memcacheFactory = new \OC\Memcache\Factory($instanceId); + $memcacheFactory = new \OC\Memcache\Factory($instanceId, + \OC::$server->getLogger()); self::$loader->setMemoryCache($memcacheFactory->createLowLatency('Autoloader')); } catch (\Exception $ex) { } diff --git a/lib/private/memcache/factory.php b/lib/private/memcache/factory.php index e8a91c5226..537054a30f 100644 --- a/lib/private/memcache/factory.php +++ b/lib/private/memcache/factory.php @@ -11,16 +11,19 @@ namespace OC\Memcache; use \OCP\ICacheFactory; class Factory implements ICacheFactory { - /** - * @var string $globalPrefix - */ + /** @var string $globalPrefix */ private $globalPrefix; + /** @var \OCP\ILogger */ + private $logger; + /** * @param string $globalPrefix + * @param \OCP\ILogger $logger */ - public function __construct($globalPrefix) { + public function __construct($globalPrefix, $logger) { $this->globalPrefix = $globalPrefix; + $this->logger = $logger; } /** @@ -32,16 +35,22 @@ class Factory implements ICacheFactory { function create($prefix = '') { $prefix = $this->globalPrefix . '/' . $prefix; if (XCache::isAvailable()) { + $this->logger->debug("creating XCache instance", array('app' => 'memcache')); return new XCache($prefix); } elseif (APCu::isAvailable()) { + $this->logger->debug('creating APCu instance', array('app'=>'memcache')); return new APCu($prefix); } elseif (APC::isAvailable()) { + $this->logger->debug('creating APC instance', array('app'=>'memcache')); return new APC($prefix); } elseif (Redis::isAvailable()) { + $this->logger->debug('creating redis instance', array('app'=>'memcache')); return new Redis($prefix); } elseif (Memcached::isAvailable()) { + $this->logger->debug('creating memcached instance', array('app'=>'memcache')); return new Memcached($prefix); } else { + $this->logger->debug('no cache available instance', array('app'=>'memcache')); return new ArrayCache($prefix); } } @@ -64,12 +73,16 @@ class Factory implements ICacheFactory { public function createLowLatency($prefix = '') { $prefix = $this->globalPrefix . '/' . $prefix; if (XCache::isAvailable()) { + $this->logger->debug('creating xcache instance for low latency', array('app'=>'memcache')); return new XCache($prefix); } elseif (APCu::isAvailable()) { + $this->logger->debug('creating APCu instance for low latency', array('app'=>'memcache')); return new APCu($prefix); } elseif (APC::isAvailable()) { + $this->logger->debug('creating APC instance for low latency', array('app'=>'memcache')); return new APC($prefix); } else { + $this->logger->debug('no low latency cache available', array('app'=>'memcache')); return null; } } @@ -83,5 +96,4 @@ class Factory implements ICacheFactory { return XCache::isAvailable() || APCu::isAvailable() || APC::isAvailable(); } - } diff --git a/lib/private/server.php b/lib/private/server.php index b023534ae2..9660597b39 100644 --- a/lib/private/server.php +++ b/lib/private/server.php @@ -193,7 +193,8 @@ class Server extends SimpleContainer implements IServerContainer { }); $this->registerService('MemCacheFactory', function ($c) { $instanceId = \OC_Util::getInstanceId(); - return new \OC\Memcache\Factory($instanceId); + $logger = $c['Logger']; + return new \OC\Memcache\Factory($instanceId, $logger); }); $this->registerService('ActivityManager', function ($c) { return new ActivityManager();