This is an automated email from the ASF dual-hosted git repository. jbarrett pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/geode-native.git
The following commit(s) were added to refs/heads/develop by this push: new e8b9cb1 GEODE-4410: Move StatisticsManager from DistributedSystem to Cache. (#273) e8b9cb1 is described below commit e8b9cb1beb91cf93d0c317c7e358ebb5533ee80d Author: Michael Martell <mmart...@pivotal.io> AuthorDate: Mon Apr 16 13:11:51 2018 -0700 GEODE-4410: Move StatisticsManager from DistributedSystem to Cache. (#273) --- cppcache/include/geode/DistributedSystem.hpp | 2 -- cppcache/src/AdminRegion.cpp | 6 +----- cppcache/src/CacheImpl.cpp | 18 +++++++++++++++++- cppcache/src/CacheImpl.hpp | 6 ++++++ cppcache/src/DistributedSystem.cpp | 4 ---- cppcache/src/DistributedSystemImpl.cpp | 17 ----------------- cppcache/src/DistributedSystemImpl.hpp | 5 ----- cppcache/src/LocalRegion.cpp | 6 ++---- cppcache/src/RemoteQueryService.cpp | 5 ++--- cppcache/src/ThinClientPoolDM.cpp | 12 ++++-------- cppcache/src/statistics/PoolStatsSampler.cpp | 5 ++--- 11 files changed, 34 insertions(+), 52 deletions(-) diff --git a/cppcache/include/geode/DistributedSystem.hpp b/cppcache/include/geode/DistributedSystem.hpp index c4822ac..0242219 100644 --- a/cppcache/include/geode/DistributedSystem.hpp +++ b/cppcache/include/geode/DistributedSystem.hpp @@ -97,8 +97,6 @@ class APACHE_GEODE_EXPORT DistributedSystem { */ const std::string& getName() const; - statistics::StatisticsManager* getStatisticsManager() const; - protected: /** * @brief constructors diff --git a/cppcache/src/AdminRegion.cpp b/cppcache/src/AdminRegion.cpp index e2610e7..9a4bdf0 100644 --- a/cppcache/src/AdminRegion.cpp +++ b/cppcache/src/AdminRegion.cpp @@ -39,11 +39,7 @@ std::shared_ptr<AdminRegion> AdminRegion::create(CacheImpl* cache, if (!distMan) { adminRegion->m_distMngr = new ThinClientCacheDistributionManager(*adminRegion->m_connectionMgr); - auto mngr = cache->getDistributedSystem().getStatisticsManager(); - if (mngr) { - // Register it with StatisticsManager - mngr->RegisterAdminRegion(adminRegion); - } + cache->getStatisticsManager().RegisterAdminRegion(adminRegion); } else { adminRegion->m_distMngr = distMan; } diff --git a/cppcache/src/CacheImpl.cpp b/cppcache/src/CacheImpl.cpp index b475ba3..330933c 100644 --- a/cppcache/src/CacheImpl.cpp +++ b/cppcache/src/CacheImpl.cpp @@ -52,6 +52,7 @@ CacheImpl::CacheImpl(Cache* c, DistributedSystem&& distributedSystem, m_readPdxSerialized(readPdxSerialized), m_expiryTaskManager( std::unique_ptr<ExpiryTaskManager>(new ExpiryTaskManager())), + m_statisticsManager(nullptr), m_closed(false), m_initialized(false), m_distributedSystem(std::move(distributedSystem)), @@ -72,6 +73,7 @@ CacheImpl::CacheImpl(Cache* c, DistributedSystem&& distributedSystem, m_threadPool(new ThreadPool( m_distributedSystem.getSystemProperties().threadPoolSize())), m_authInitialize(authInitialize) { + m_cacheTXManager = std::shared_ptr<InternalCacheTransactionManager2PC>( new InternalCacheTransactionManager2PCImpl(this)); @@ -89,6 +91,19 @@ CacheImpl::CacheImpl(Cache* c, DistributedSystem&& distributedSystem, m_initialized = true; m_pdxTypeRegistry = std::make_shared<PdxTypeRegistry>(this); m_poolManager = std::unique_ptr<PoolManager>(new PoolManager(this)); + + try { + m_statisticsManager = + std::unique_ptr<StatisticsManager>(new StatisticsManager( + prop.statisticsArchiveFile().c_str(), + prop.statisticsSampleInterval(), prop.statisticsEnabled(), this, + prop.statsFileSizeLimit(), prop.statsDiskSpaceLimit())); + m_cacheStats = + new CachePerfStats(m_statisticsManager->getStatisticsFactory()); + } catch (const NullPointerException&) { + Log::close(); + throw; + } } void CacheImpl::initServices() { @@ -220,7 +235,8 @@ const std::string& CacheImpl::getName() const { bool CacheImpl::isClosed() const { return m_closed; } -void CacheImpl::setAttributes(const std::shared_ptr<CacheAttributes>& attributes) { +void CacheImpl::setAttributes( + const std::shared_ptr<CacheAttributes>& attributes) { if (m_attributes == nullptr && attributes != nullptr) { m_attributes = attributes; } diff --git a/cppcache/src/CacheImpl.hpp b/cppcache/src/CacheImpl.hpp index 7308a89..efeb409 100644 --- a/cppcache/src/CacheImpl.hpp +++ b/cppcache/src/CacheImpl.hpp @@ -273,6 +273,10 @@ class APACHE_GEODE_EXPORT CacheImpl : private NonCopyable, return m_authInitialize; } + statistics::StatisticsManager& getStatisticsManager() const { + return *(m_statisticsManager.get()); + } + virtual std::unique_ptr<DataOutput> createDataOutput() const; virtual std::unique_ptr<DataOutput> createDataOutput(Pool* pool) const; @@ -297,6 +301,8 @@ class APACHE_GEODE_EXPORT CacheImpl : private NonCopyable, std::unique_ptr<PoolManager> m_poolManager; + std::unique_ptr<statistics::StatisticsManager> m_statisticsManager; + enum RegionKind { CPP_REGION, THINCLIENT_REGION, diff --git a/cppcache/src/DistributedSystem.cpp b/cppcache/src/DistributedSystem.cpp index 8fd41b8..380c28d 100644 --- a/cppcache/src/DistributedSystem.cpp +++ b/cppcache/src/DistributedSystem.cpp @@ -114,10 +114,6 @@ const std::string& DistributedSystem::getName() const { return m_impl->getName(); } -statistics::StatisticsManager* DistributedSystem::getStatisticsManager() const { - return m_impl->getStatisticsManager(); -} - } // namespace client } // namespace geode } // namespace apache diff --git a/cppcache/src/DistributedSystemImpl.cpp b/cppcache/src/DistributedSystemImpl.cpp index 5417aa0..982b286 100644 --- a/cppcache/src/DistributedSystemImpl.cpp +++ b/cppcache/src/DistributedSystemImpl.cpp @@ -42,7 +42,6 @@ DistributedSystemImpl::DistributedSystemImpl( std::unique_ptr<SystemProperties> sysProps) : m_name(name), m_implementee(implementee), - m_statisticsManager(nullptr), m_sysProps(std::move(sysProps)), m_connected(false) { if (!m_sysProps->securityClientDhAlgo().empty()) { @@ -62,22 +61,6 @@ void DistributedSystemImpl::connect(Cache* cache) { "get it"); } - auto cacheImpl = CacheRegionHelper::getCacheImpl(cache); - try { - m_statisticsManager = - std::unique_ptr<StatisticsManager>(new StatisticsManager( - m_sysProps->statisticsArchiveFile().c_str(), - m_sysProps->statisticsSampleInterval(), - m_sysProps->statisticsEnabled(), cacheImpl, - m_sysProps->statsFileSizeLimit(), - m_sysProps->statsDiskSpaceLimit())); - cacheImpl->m_cacheStats = - new CachePerfStats(getStatisticsManager()->getStatisticsFactory()); - } catch (const NullPointerException&) { - Log::close(); - throw; - } - m_connected = true; } diff --git a/cppcache/src/DistributedSystemImpl.hpp b/cppcache/src/DistributedSystemImpl.hpp index 6686a94..7eac4e8 100644 --- a/cppcache/src/DistributedSystemImpl.hpp +++ b/cppcache/src/DistributedSystemImpl.hpp @@ -82,10 +82,6 @@ class APACHE_GEODE_EXPORT DistributedSystemImpl { virtual const std::string& getName() const; - statistics::StatisticsManager* getStatisticsManager() const { - return m_statisticsManager.get(); - } - SystemProperties& getSystemProperties() const; std::string m_name; @@ -111,7 +107,6 @@ class APACHE_GEODE_EXPORT DistributedSystemImpl { static ACE_Recursive_Thread_Mutex m_cliCallbackLock; static volatile bool m_isCliCallbackSet; static std::map<int, CliCallbackMethod> m_cliCallbackMap; - std::unique_ptr<statistics::StatisticsManager> m_statisticsManager; std::unique_ptr<SystemProperties> m_sysProps; bool m_connected; }; diff --git a/cppcache/src/LocalRegion.cpp b/cppcache/src/LocalRegion.cpp index 8559d38..7d28a00 100644 --- a/cppcache/src/LocalRegion.cpp +++ b/cppcache/src/LocalRegion.cpp @@ -88,10 +88,8 @@ LocalRegion::LocalRegion(const std::string& name, CacheImpl* cacheImpl, (m_fullPath = "/") += m_name; } - m_regionStats = new RegionStats(cacheImpl->getDistributedSystem() - .getStatisticsManager() - ->getStatisticsFactory(), - m_fullPath); + m_regionStats = new RegionStats( + cacheImpl->getStatisticsManager().getStatisticsFactory(), m_fullPath); auto p = cacheImpl->getPoolManager().find(getAttributes().getPoolName()); setPool(p); } diff --git a/cppcache/src/RemoteQueryService.cpp b/cppcache/src/RemoteQueryService.cpp index a940266..e66154f 100644 --- a/cppcache/src/RemoteQueryService.cpp +++ b/cppcache/src/RemoteQueryService.cpp @@ -32,9 +32,8 @@ RemoteQueryService::RemoteQueryService(CacheImpl* cache, ThinClientPoolDM* poolDM) : m_invalid(true), m_cqService(nullptr), - m_statisticsFactory(cache->getDistributedSystem() - .getStatisticsManager() - ->getStatisticsFactory()) { + m_statisticsFactory( + cache->getStatisticsManager().getStatisticsFactory()) { if (poolDM) { m_tccdm = poolDM; } else { diff --git a/cppcache/src/ThinClientPoolDM.cpp b/cppcache/src/ThinClientPoolDM.cpp index 1f2a86e..c397f58 100644 --- a/cppcache/src/ThinClientPoolDM.cpp +++ b/cppcache/src/ThinClientPoolDM.cpp @@ -198,10 +198,9 @@ ThinClientPoolDM::ThinClientPoolDM(const char* name, reset(); m_locHelper = new ThinClientLocatorHelper(m_attrs->m_initLocList, this); - auto statisticsManager = distributedSystem.getStatisticsManager(); - m_stats = - new PoolStats(statisticsManager->getStatisticsFactory(), m_poolName); - statisticsManager->forceSample(); + m_stats = new PoolStats( + cacheImpl->getStatisticsManager().getStatisticsFactory(), m_poolName); + cacheImpl->getStatisticsManager().forceSample(); if (!sysProp.isEndpointShufflingDisabled()) { if (m_attrs->m_initServList.size() > 0) { @@ -833,10 +832,7 @@ void ThinClientPoolDM::destroy(bool keepAlive) { // Close Stats getStats().close(); - m_connManager.getCacheImpl() - ->getDistributedSystem() - .getStatisticsManager() - ->forceSample(); + m_connManager.getCacheImpl()->getStatisticsManager().forceSample(); if (m_clientMetadataService != nullptr) { _GEODE_SAFE_DELETE(m_clientMetadataService); diff --git a/cppcache/src/statistics/PoolStatsSampler.cpp b/cppcache/src/statistics/PoolStatsSampler.cpp index 7f35f8b..e01651f 100644 --- a/cppcache/src/statistics/PoolStatsSampler.cpp +++ b/cppcache/src/statistics/PoolStatsSampler.cpp @@ -41,9 +41,8 @@ PoolStatsSampler::PoolStatsSampler(milliseconds sampleRate, CacheImpl* cache, ThinClientPoolDM* distMan) : m_sampleRate(sampleRate), m_distMan(distMan), - m_statisticsFactory(cache->getDistributedSystem() - .getStatisticsManager() - ->getStatisticsFactory()) { + m_statisticsFactory( + cache->getStatisticsManager().getStatisticsFactory()) { m_running = false; m_stopRequested = false; m_adminRegion = AdminRegion::create(cache, distMan); -- To stop receiving notification emails like this one, please contact jbarr...@apache.org.