static void Main() { var component = new SlowComponent(); var adapter = new StopwatchAdapter(new Stopwatch()); var logger = new LoggingStopwatch(adapter); var profile = new ProfilingComponent(component, logger); profile.Something(); Console.ReadKey(); }
public void SecondIsLongerThanFirst() { var lsw = new LoggingStopwatch(); lsw.Mark("first"); long markElapsed = lsw.Mark("second"); long difference = lsw.Difference("first", "second"); _log.WriteLine($"Mark At: {markElapsed}"); _log.WriteLine($"Difference: {difference}"); Assert.NotEqual(0.0, markElapsed); Assert.NotEqual(0.0, difference); }
public void FirstMarkIsZeroElapsed() { var lsw = new LoggingStopwatch(); var output = lsw.Mark <LoggingStopwatch, long>("first", (sw) => { var start = sw.ElapsedAt("first_Begin"); _log.WriteLine(start.ToString()); Assert.Equal(0.0, start); return(start); }, lsw); }
public async Task MarksListMatchesValues() { var random = new Random(); var lsw = new LoggingStopwatch(); var first = lsw.Mark("first"); await Task.Delay((int)(random.NextDouble() * (double)random.Next(15, 150))); var second = lsw.Mark("second"); await Task.Delay((int)(random.NextDouble() * (double)random.Next(15, 150))); var third = lsw.Mark("third"); var marks = lsw.ElapsedMarks; _log.WriteLine($"Marks: {string.Join(", ", marks)}"); Assert.Equal(lsw.Difference("first", "third"), marks.First(m => m.Mark == "third").ElapsedMilliseconds - marks.First(m => m.Mark == "first").ElapsedMilliseconds); }