internal static bool IsUnderHighLoad(ApplicationPerformanceCounters counters, Collection <string> exceededCounters = null, float threshold = HostHealthMonitorOptions.DefaultCounterThreshold) { bool exceeded = false; // determine all counters whose limits have been exceeded exceeded |= ThresholdExceeded("Connections", counters.Connections, counters.ConnectionLimit, threshold, exceededCounters); exceeded |= ThresholdExceeded("Threads", counters.Threads, counters.ThreadLimit, threshold, exceededCounters); exceeded |= ThresholdExceeded("Processes", counters.Processes, counters.ProcessLimit, threshold, exceededCounters); exceeded |= ThresholdExceeded("NamedPipes", counters.NamedPipes, counters.NamedPipeLimit, threshold, exceededCounters); exceeded |= ThresholdExceeded("Sections", counters.Sections, counters.SectionLimit, threshold, exceededCounters); return(exceeded); }
internal static bool IsUnderHighLoad(ApplicationPerformanceCounters counters, Collection <string> exceededCounters = null) { bool exceeded = false; // determine all counters whose limits have been exceeded exceeded |= ThresholdExceeded("Connections", counters.Connections, counters.ConnectionLimit, ConnectionThreshold, exceededCounters); exceeded |= ThresholdExceeded("Threads", counters.Threads, counters.ThreadLimit, ThreadThreshold, exceededCounters); exceeded |= ThresholdExceeded("Processes", counters.Processes, counters.ProcessLimit, ProcessesThreshold, exceededCounters); exceeded |= ThresholdExceeded("NamedPipes", counters.NamedPipes, counters.NamedPipeLimit, NamedPipesThreshold, exceededCounters); exceeded |= ThresholdExceeded("Sections", counters.Sections, counters.SectionLimit, SectionsThreshold, exceededCounters); return(exceeded); }