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; } } } } }
/// <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); } }
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 }
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; } } } }
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); } } } }
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(); } } } }
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); }
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); }