private static void EnforceLimitOfQueueLength(Concurrent.ConcurrentQueue <RequestLatencyInfo> hintQueue) { while (hintQueue.Count > RequestLatencyDetailLimit) { hintQueue.TryDequeue(out _); } }
public void Update(long duration, string action, string query) { if (RequestLatencies.TryGetValue(action, out var hintQueue) == false) { var queue = new Concurrent.ConcurrentQueue <RequestLatencyInfo>(); queue.Enqueue(new RequestLatencyInfo(duration, action, query)); RequestLatencies.Add(action, queue); } else { EnforceLimitOfQueueLength(hintQueue); hintQueue.Enqueue(new RequestLatencyInfo(duration, action, query)); } }
public void Update(string queryString, IQueryCollection requestQuery, long duration, string action) { if (RequestLatencies.TryGetValue(action, out var hintQueue) == false) { var queue = new Concurrent.ConcurrentQueue <RequestLatencyInfo>(); queue.Enqueue(new RequestLatencyInfo(queryString, requestQuery.ToDictionary(x => x.Key, x => x.Value.FirstOrDefault()), duration, action)); RequestLatencies.Add(action, queue); } else { EnforceLimitOfQueueLength(hintQueue); hintQueue.Enqueue(new RequestLatencyInfo(queryString, requestQuery.ToDictionary(x => x.Key, x => x.Value.FirstOrDefault()), duration, action)); } }
static void Main(string[] args) { StandardC.ArrayList standardArrayList = new StandardC.ArrayList(); StandardC.Hashtable standardHashtable = new StandardC.Hashtable(); StandardC.Queue standardQueue = new StandardC.Queue(); StandardC.Stack standardStack = new StandardC.Stack(); Generic.Dictionary <int, string> genericDictionary = new Generic.Dictionary <int, string>(); Generic.List <int> genericList = new Generic.List <int>(); Generic.Queue <int> genericQueue = new Generic.Queue <int>(); Generic.SortedList <int, string> genericSortedList = new Generic.SortedList <int, string>(); Generic.Stack <int> genericStack = new Generic.Stack <int>(); Concurrent.BlockingCollection <int> concurrentBlockingCollection = new Concurrent.BlockingCollection <int>(); Concurrent.ConcurrentDictionary <int, string> concurrentDictionary = new Concurrent.ConcurrentDictionary <int, string>(); Concurrent.ConcurrentQueue <int> concurrentQueue = new Concurrent.ConcurrentQueue <int>(); Concurrent.ConcurrentStack <int> concurrentStack = new Concurrent.ConcurrentStack <int>(); Console.WriteLine("Hello World!"); }