//public static Tuple<int, int> GetGapSizeInfo() //{ // _gapRWSync.EnterReadLock(); // try // { // var gapSize = 0; // for (int i = 0; i < GapSegments; i++) // gapSize += _gaps[i].Count; // _peakGapSize = Math.Max(_peakGapSize, gapSize); // return new Tuple<int, int>(gapSize, _peakGapSize); // } // finally // { // _gapRWSync.ExitReadLock(); // } //} public static void SetGapSizeCounter() { var result = 0; for (int i = 0; i < GapSegments; i++) { result += _gaps[i].Count; } // set perf counter CounterManager.SetRawValue(COUNTERNAME_GAPSIZE, Convert.ToInt64(result)); }
internal virtual void OnMessageReceived(Stream messageBody) { ClusterMessage message = m_formatter.Deserialize(messageBody); lock (_messageListSwitchSync) { _incomingMessages.Add(message); CounterManager.SetRawValue("IncomingMessages", Convert.ToInt64(_incomingMessages.Count)); var totalMessages = _incomingMessages.Count + _messagesCount; CounterManager.SetRawValue("TotalMessagesToProcess", Convert.ToInt64(totalMessages)); //_incomingMessageSignal.Set(); } }
private static bool IsDelayingRequestsNecessary(bool requestsCurrentlyDelayed) { // by default we keep current working mode var delayingRequestsNecessary = requestsCurrentlyDelayed; // check if we need to switch off/on delaying var incomingMessageCount = DistributedApplication.ClusterChannel.IncomingMessageCount; if (!requestsCurrentlyDelayed && incomingMessageCount > Configuration.Messaging.DelayRequestsOnHighMessageCountUpperLimit) { delayingRequestsNecessary = true; } if (requestsCurrentlyDelayed && incomingMessageCount < Configuration.Messaging.DelayRequestsOnHighMessageCountLowerLimit) { delayingRequestsNecessary = false; } CounterManager.SetRawValue("DelayingRequests", delayingRequestsNecessary ? 1 : 0); return(delayingRequestsNecessary); }
private static bool IsDelayingRequestsNecessary(bool requestsCurrentlyDelayed) { // by default we keep current working mode var delayingRequestsNecessary = requestsCurrentlyDelayed; // check if we need to switch off/on delaying var incomingMessageCount = DistributedApplication.ClusterChannel.IncomingMessageCount; if (!requestsCurrentlyDelayed && incomingMessageCount > RepositoryConfiguration.DelayRequestsOnHighMessageCountUpperLimit) { delayingRequestsNecessary = true; //Logger.WriteInformation("Requests are now being delayed (IncomingMessageCount reached configured upper limit: " + incomingMessageCount.ToString() + ")"); } if (requestsCurrentlyDelayed && incomingMessageCount < RepositoryConfiguration.DelayRequestsOnHighMessageCountLowerLimit) { delayingRequestsNecessary = false; //Logger.WriteInformation("Request delaying is now switched off (IncomingMessageCount reached configured lower limit: " + incomingMessageCount.ToString() + ")"); } CounterManager.SetRawValue("DelayingRequests", delayingRequestsNecessary ? 1 : 0); return(delayingRequestsNecessary); }