Beispiel #1
0
        public void PubSubCounterSetter(string counterType, PerformanceOperator counterOperation)
        {
            if (_pubsubCounterList != null && _pubsubCounterList.Count > 0 && _pubsubCounterList.ContainsKey(counterType))
            {
                PerformanceCounterBase performanceCounter = _pubsubCounterList[counterType];
                if (performanceCounter != null)
                {
                    lock (performanceCounter)
                    {
                        switch (counterOperation)
                        {
                        case PerformanceOperator.Increment:
                            performanceCounter.Increment();
                            break;

                        case PerformanceOperator.Decrement:
                            if (performanceCounter.Value != 0)
                            {
                                performanceCounter.Decrement();
                            }
                            break;
                        }
                    }
                }
            }
        }
Beispiel #2
0
        /// <summary>
        /// Initializes the counter instances and category.
        /// </summary>
        public void InitializePerfCounters()
        {
            lock (this)
            {
                _pcRequestsPerSec           = new RateOfCounter(CustomCounterNames.RequestsPerSec, _instanceName);
                _pcResponsesPerSec          = new RateOfCounter(CustomCounterNames.ResponsesPerSec, _instanceName);
                _pcClientBytesSentPerSec    = new RateOfCounter(CustomCounterNames.ClientBytesSentPerSec, _instanceName);
                _pcClientBytesReceiedPerSec = new RateOfCounter(CustomCounterNames.ClientBytesReceiedPerSec, _instanceName);

                _pcMsecPerCacheOperation     = new AverageCounter(CustomCounterNames.MsecPerCacheOperation, _instanceName);
                _pcMsecPerCacheOperationBase = new RateOfCounter(CustomCounterNames.MsecPerCacheOperationBase, _instanceName);

                _usMsecPerCacheOperation = new UsageStats();
                _nsMsecPerCacheOperation = new NanoSecTimeStats();

                _pcResponseQueueCount = new NumberOfItemCounter(CustomCounterNames.ResponseQueueCount, _instanceName);
                _pcResponseQueueSize  = new NumberOfItemCounter(CustomCounterNames.ResponseQueueSize, _instanceName);
                _pcEventQueueCount    = new NumberOfItemCounter(CustomCounterNames.EventQueueCount, _instanceName);

                _requestLogPerSecond = new RateOfCounter(CustomCounterNames.RequestLogPerSecond, _instanceName);
                _requestLogSize      = new NumberOfItemCounter(CustomCounterNames.RequestLogSize, _instanceName);

                _pcConnectedClients = new NumberOfItemCounter(CustomCounterNames.ConnectedClients, _instanceName);

                //Bulk CustomCounterNames
                _pcMsecPerAddBulkAvg  = new RateOfCounter(CustomCounterNames.MsecPerAddBulkAvg, _instanceName);
                _pcMsecPerGetBulkAvg  = new RateOfCounter(CustomCounterNames.MsecPerGetBulkAvg, _instanceName);
                _pcMsecPerUpdBulkAvg  = new RateOfCounter(CustomCounterNames.MsecPerUpdBulkAvg, _instanceName);
                _pcMsecPerDelBulkAvg  = new RateOfCounter(CustomCounterNames.MsecPerDelBulkAvg, _instanceName);
                _pcMsecPerAddBulkBase = new RateOfCounter(CustomCounterNames.MsecPerAddBulkBase, _instanceName);
                _pcMsecPerGetBulkBase = new RateOfCounter(CustomCounterNames.MsecPerGetBulkBase, _instanceName);
                _pcMsecPerUpdBulkBase = new RateOfCounter(CustomCounterNames.MsecPerUpdBulkBase, _instanceName);
                _pcMsecPerDelBulkBase = new RateOfCounter(CustomCounterNames.MsecPerDelBulkBase, _instanceName);
            }
        }
Beispiel #3
0
        public void InitializePerfCounters(bool inproc, bool ModuleConfigured = false)
        {
            try
            {
                _countStats = new NumberOfItemCounter(CounterNames.Count, _instanceName);
                _sizeStats  = new NumberOfItemCounter(CounterNames.CacheSize, _instanceName);

                _addStats                   = new RateOfCounter(CounterNames.AddPerSec, _instanceName);
                _updateStats                = new RateOfCounter(CounterNames.UpdPerSec, _instanceName);
                _fetchStats                 = new RateOfCounter(CounterNames.GetPerSec, _instanceName);
                _hitStats                   = new RateOfCounter(CounterNames.HitsPerSec, _instanceName);
                _missStats                  = new RateOfCounter(CounterNames.MissPerSec, _instanceName);
                _usageMsecPerGetStats       = new UsageStats();
                _cacheLastAccessCountStats  = new NumberOfItemCounter(CounterNames.CacheLastAccessCount, _instanceName);
                _hitsRatioSecStats          = new RateOfCounter(CounterNames.HitsRatioSec, _instanceName);
                _deleteStats                = new RateOfCounter(CounterNames.DelPerSec, _instanceName);
                _evictPerSecStats           = new RateOfCounter(CounterNames.EvictPerSec, _instanceName);
                _expiryPerSecStats          = new RateOfCounter(CounterNames.ExpiryPerSec, _instanceName);
                _stateTxfrPerSecStats       = new RateOfCounter(CounterNames.StateTxfrPerSec, _instanceName);
                _dataBalPerSecStats         = new RateOfCounter(CounterNames.DataBalPerSec, _instanceName);
                _msecPerGetAvgStats         = new AverageCounter(CounterNames.MsecPerGetAvg, _instanceName);
                _msecPerAddAvgStats         = new AverageCounter(CounterNames.MsecPerAddAvg, _instanceName);
                _usageMsecPerAddStats       = new UsageStats();
                _msecPerUpdateAvgStats      = new AverageCounter(CounterNames.MsecPerUpdAvg, _instanceName);
                _usageMsecPerUpdateStats    = new UsageStats();
                _msecPerDeleteAvgStats      = new AverageCounter(CounterNames.MsecPerDelAvg, _instanceName);
                _usageMsecPerDeleteStats    = new UsageStats();
                _mirrorQueueSizeStats       = new NumberOfItemCounter(CounterNames.MirrorQueueSize, _instanceName);
                _slidingIndexQueueSizeStats = new NumberOfItemCounter(CounterNames.SlidingIndexQueueSize, _instanceName);
                _evictionIndexSizeStats     = new NumberOfItemCounter(CounterNames.EvictionIndexSize, _instanceName);
                _expirationIndexSizeStats   = new NumberOfItemCounter(CounterNames.ExpirationIndexSize, _instanceName);

                #region Pub_Sub
                _pubsubCounterList         = new Dictionary <string, PerformanceCounterBase>();
                _messageCountStats         = new NumberOfItemCounter(CounterNames.MessageCount, _instanceName);
                _topicCountStats           = new NumberOfItemCounter(CounterNames.TopicCount, _instanceName);
                _messageStoreSizeStats     = new NumberOfItemCounter(CounterNames.MessageStoreSize, _instanceName);
                _messagePublishPerSecStats = new RateOfCounter(CounterNames.MessagePublishPerSec, _instanceName);
                _messageDeliverPerSecStats = new RateOfCounter(CounterNames.MessageDeliveryPerSec, _instanceName);
                _messageExpiredPerSecStats = new RateOfCounter(CounterNames.MessageExpiredPerSec, _instanceName);
                _pubsubCounterList.Add(CounterNames.MessageCount, _messageCountStats);
                _pubsubCounterList.Add(CounterNames.TopicCount, _topicCountStats);
                _pubsubCounterList.Add(CounterNames.MessageStoreSize, _messageStoreSizeStats);
                _pubsubCounterList.Add(CounterNames.MessagePublishPerSec, _messagePublishPerSecStats);
                _pubsubCounterList.Add(CounterNames.MessageDeliveryPerSec, _messageDeliverPerSecStats);
                _pubsubCounterList.Add(CounterNames.MessageExpiredPerSec, _messageExpiredPerSecStats);
            }
            catch (Exception ex)
            {
                throw new Exception("PerfStatsCollector.PerfStatsCollector()", ex);
            }

            #endregion
        }
Beispiel #4
0
 public void SetPubSubCounter(long value, string counterType)
 {
     if (_pubsubCounterList != null && _pubsubCounterList.ContainsKey(counterType))
     {
         PerformanceCounterBase performanceCounter = _pubsubCounterList[counterType];
         if (performanceCounter != null)
         {
             lock (performanceCounter)
             {
                 performanceCounter.Value = value;
             }
         }
     }
 }
Beispiel #5
0
 public void IncrementMessageExpiredPerSec(long value)
 {
     if (_pubsubCounterList != null && _pubsubCounterList.Count > 0 && _pubsubCounterList.ContainsKey(CounterNames.MessageExpiredPerSec))
     {
         PerformanceCounterBase performanceCounter = _pubsubCounterList[CounterNames.MessageExpiredPerSec];
         if (performanceCounter != null)
         {
             lock (performanceCounter)
             {
                 performanceCounter.IncrementBy(value);
             }
         }
     }
 }
Beispiel #6
0
 public void IncrementMessageDeliverPerSec()
 {
     if (_pubsubCounterList != null && _pubsubCounterList.Count > 0 && _pubsubCounterList.ContainsKey(CounterNames.MessageDeliveryPerSec))
     {
         PerformanceCounterBase performanceCounterBase = _pubsubCounterList[CounterNames.MessageDeliveryPerSec];
         if (performanceCounterBase != null)
         {
             lock (performanceCounterBase)
             {
                 performanceCounterBase.Increment();
             }
         }
     }
 }
Beispiel #7
0
        public double GetCounterValue(string counterName)
        {
            double value = 0.0;
            PerformanceCounterBase counter = null;

            switch (counterName)
            {
            case CustomCounterNames.RequestsPerSec:
                counter = _pcRequestsPerSec;
                break;

            case CustomCounterNames.ResponsesPerSec:
                counter = _pcResponsesPerSec;
                break;

            case CustomCounterNames.ClientBytesSentPerSec:
                counter = _pcClientBytesSentPerSec;
                break;

            case CustomCounterNames.ClientBytesReceiedPerSec:
                counter = _pcClientBytesReceiedPerSec;
                break;

            case CustomCounterNames.MsecPerCacheOperation:
                counter = _pcMsecPerCacheOperation;
                break;

            case CustomCounterNames.MsecPerCacheOperationBase:
                counter = _pcMsecPerCacheOperationBase;
                break;

            case CustomCounterNames.ResponseQueueCount:
                counter = _pcResponseQueueCount;
                break;

            case CustomCounterNames.ResponseQueueSize:
                counter = _pcResponseQueueSize;
                break;

            case CustomCounterNames.EventQueueCount:
                counter = _pcEventQueueCount;
                break;

            case CustomCounterNames.RequestLogPerSecond:
                counter = _requestLogPerSecond;
                break;

            case CustomCounterNames.RequestLogSize:
                counter = _requestLogSize;
                break;

            case CustomCounterNames.ConnectedClients:
                counter = _pcConnectedClients;
                break;

            case CustomCounterNames.MsecPerAddBulkAvg:
                counter = _pcMsecPerAddBulkAvg;
                break;

            case CustomCounterNames.MsecPerGetBulkAvg:
                counter = _pcMsecPerGetBulkAvg;
                break;

            case CustomCounterNames.MsecPerUpdBulkAvg:
                counter = _pcMsecPerUpdBulkAvg;
                break;

            case CustomCounterNames.MsecPerDelBulkAvg:
                counter = _pcMsecPerDelBulkAvg;
                break;

            case CustomCounterNames.MsecPerAddBulkBase:
                counter = _pcMsecPerAddBulkBase;
                break;

            case CustomCounterNames.MsecPerGetBulkBase:
                counter = _pcMsecPerGetBulkBase;
                break;

            case CustomCounterNames.MsecPerUpdBulkBase:
                counter = _pcMsecPerUpdBulkBase;
                break;

            case CustomCounterNames.MsecPerDelBulkBase:
                counter = _pcMsecPerDelBulkBase;
                break;
            }

            if (counter != null)
            {
                lock (counter)
                {
                    value = counter.Value;
                }
            }

            return(value);
        }
Beispiel #8
0
        public double GetCounterValue(string counterName)
        {
            double value = 0.0;
            PerformanceCounterBase counter = null;

            switch (counterName)
            {
            case CounterNames.Count:
                counter = _countStats;
                break;

            case CounterNames.CacheSize:
                counter = _sizeStats;
                break;

            case CounterNames.AddPerSec:
                counter = _addStats;
                break;

            case CounterNames.UpdPerSec:
                counter = _updateStats;
                break;

            case CounterNames.GetPerSec:
                counter = _fetchStats;
                break;

            case CounterNames.HitsPerSec:
                counter = _hitStats;
                break;

            case CounterNames.MissPerSec:
                counter = _missStats;
                break;

            case CounterNames.CacheLastAccessCount:
                counter = _cacheLastAccessCountStats;
                break;

            case CounterNames.HitsRatioSec:
                counter = _hitsRatioSecStats;
                break;

            case CounterNames.DelPerSec:
                counter = _deleteStats;
                break;

            case CounterNames.EvictPerSec:
                counter = _evictPerSecStats;
                break;

            case CounterNames.ExpiryPerSec:
                counter = _expiryPerSecStats;
                break;

            case CounterNames.StateTxfrPerSec:
                counter = _stateTxfrPerSecStats;
                break;

            case CounterNames.DataBalPerSec:
                counter = _dataBalPerSecStats;
                break;

            case CounterNames.MsecPerGetAvg:
                counter = _msecPerGetAvgStats;
                break;

            case CounterNames.MsecPerAddAvg:
                counter = _msecPerAddAvgStats;
                break;

            case CounterNames.MsecPerUpdAvg:
                counter = _msecPerUpdateAvgStats;
                break;

            case CounterNames.MsecPerDelAvg:
                counter = _msecPerDeleteAvgStats;
                break;

            case CounterNames.MirrorQueueSize:
                counter = _mirrorQueueSizeStats;
                break;

            case CounterNames.SlidingIndexQueueSize:
                counter = _slidingIndexQueueSizeStats;
                break;

            case CounterNames.EvictionIndexSize:
                counter = _evictionIndexSizeStats;
                break;

            case CounterNames.ExpirationIndexSize:
                counter = _expirationIndexSizeStats;
                break;

            case CounterNames.MessageCount:
                counter = _messageCountStats;
                break;

            case CounterNames.TopicCount:
                counter = _topicCountStats;
                break;

            case CounterNames.MessageStoreSize:
                counter = _messageStoreSizeStats;
                break;

            case CounterNames.MessagePublishPerSec:
                counter = _messagePublishPerSecStats;
                break;

            case CounterNames.MessageDeliveryPerSec:
                counter = _messageDeliverPerSecStats;
                break;

            case CounterNames.MessageExpiredPerSec:
                counter = _messageExpiredPerSecStats;
                break;
            }

            if (counter != null)
            {
                lock (counter)
                {
                    value = counter.Value;
                }
            }

            return(value);
        }