public void RegisterEntry(BenchmarkEntry entry)
 {
     lock (this.m_entries)
     {
         this.m_entries.Add(entry);
     }
     if (this.m_entries.Count >= BenchmarkManager.EntriesLimit)
     {
         lock (this.m_entries)
         {
             this.m_entries.RemoveRange(0, BenchmarkManager.EntriesLimit / 4);
         }
     }
 }
Example #2
0
        public void Add(BenchmarkEntry entry)
        {
            lock (m_entries)
            {
                m_entries.Add(entry);
            }

            if (m_entries.Count < EntriesLimit)
            {
                return;
            }

            lock (m_entries)
            {
                m_entries.RemoveRange(0, EntriesLimit / 4);
            }
        }
        public void Execute()
        {
            if (!BenchmarkManager.Enable)
            {
                m_message.Execute();
            }
            else
            {
                var sw = new Stopwatch();
                sw.Start();
                m_message.Execute();
                sw.Stop();
                ElapsedTime = sw.Elapsed;

                if (sw.ElapsedMilliseconds > 1)
                {
                    BenchmarkManager.Instance.Add(BenchmarkEntry.Create(m_message + "[IO]", sw.Elapsed, "type", "io"));
                }
            }
        }