public sealed override PoolStats GetStats(PoolStatsRequest request)
        {
            var stats = base.GetStats(request);

            stats.StringPoolStats = StringPool.GetStats();

            return(stats);
        }
Beispiel #2
0
        public virtual PoolStats GetStats(PoolStatsRequest request)
        {
            var stats = new PoolStats();

            lock (_arrayPools)
            {
                foreach (var arrayPoolType in System.Enum.GetValues(typeof(ArrayPoolType)) as int[])
                {
                    var arrayPool = _arrayPools[arrayPoolType];

                    if (arrayPool != null)
                    {
                        stats.ArrayPoolStats[(ArrayPoolType)arrayPoolType] = arrayPool.GetStats();
                    }
                }
            }
            lock (_objectPools)
            {
                foreach (var objectPoolType in System.Enum.GetValues(typeof(ObjectPoolType)) as int[])
                {
                    var objectPool = _objectPools[objectPoolType];

                    if (objectPool != null)
                    {
                        var objectPoolStats = objectPool.GetStats();

                        if (objectPoolStats.IsSimpleObjectPool)
                        {
                            stats.SimpleObjectPoolStats[(ObjectPoolType)objectPoolType] = objectPoolStats;
                        }
                        else
                        {
                            stats.ObjectPoolStats[(ObjectPoolType)objectPoolType] = objectPoolStats;
                        }
                    }
                }
            }
            return(stats);
        }
Beispiel #3
0
        public sealed override PoolStats GetPoolStats(PoolStatsRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            if (string.IsNullOrEmpty(request.CacheId))
            {
                throw new OperationFailedException("Invalid CacheId specified!");
            }

            if (cacheInfo != null)
            {
                var cache = cacheInfo.Cache;

                if (cache != null && $"{request.CacheId}".ToLowerInvariant().Equals($"{cache.Name}".ToLowerInvariant()))
                {
                    return(cache.GetPoolStats(request));
                }
            }
            return(new PoolStats());
        }
Beispiel #4
0
 public sealed override PoolStats GetPoolStats(PoolStatsRequest request)
 {
     return(_conManager.PoolManager?.GetStats(request));
 }
Beispiel #5
0
 public abstract PoolStats GetPoolStats(PoolStatsRequest request);