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); } } }
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")); } } }