public void StopWatch(CodeStatEntry entry) { if (_watchers.ContainsKey(entry)) { _watchers[entry].Stop(); } }
public void ResumeWatch(CodeStatEntry entry) { _activeStopwatch?.Stop(); if (_watchers.ContainsKey(entry)) { _activeStopwatch = _watchers[entry]; _activeStopwatch.Start(); } }
public void MarkEntryReached(CodeStatEntry entry, int count = 1) { int oldValue = 0; _codeStat.TryGetValue(entry, out oldValue); _codeStat[entry] = oldValue + count; if (count == 0) { if (!_watchers.ContainsKey(entry)) { _watchers.Add(entry, new Stopwatch()); } } else { _activeStopwatch?.Stop(); _activeStopwatch = _watchers[entry]; _activeStopwatch.Start(); } }
public CodeStatData(CodeStatEntry entry, long time, int count) { Entry = entry; TimeElapsed = time; ExecutionCount = count; }