示例#1
0
 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));
     }
 }
示例#3
0
 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));
     }
 }
示例#4
0
        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!");
        }