/// <summary> /// Completes this Timing's duration and sets the MiniProfiler's Head up one level. /// </summary> public void Stop() { if (DurationMilliseconds != null) { return; } DurationMilliseconds = Profiler.GetDurationMilliseconds(_startTicks); Profiler.Head = ParentTiming; if (_minSaveMs.HasValue && _minSaveMs.Value > 0 && ParentTiming != null) { var compareMs = _includeChildrenWithMinSave ? DurationMilliseconds : DurationWithoutChildrenMilliseconds; if (compareMs < _minSaveMs.Value) { ParentTiming.RemoveChild(this); } } if (MiniProfiler.Settings.AutoStop == true) { mReferenceCount--; if (mReferenceCount == 1) //its 1 because the Root timing object isn't disposed until the Profiler actually stops { MiniProfiler.Stop(); } } }
/// <summary> /// Completes this Timing's duration and sets the MiniProfiler's Head up one level. /// </summary> public void Stop() { if (DurationMilliseconds != null) { return; } DurationMilliseconds = Profiler.GetDurationMilliseconds(_startTicks); Profiler.Head = ParentTiming; if (_minSaveMs.HasValue && _minSaveMs.Value > 0 && ParentTiming != null) { var compareMs = _includeChildrenWithMinSave ? DurationMilliseconds : DurationWithoutChildrenMilliseconds; if (compareMs < _minSaveMs.Value) { ParentTiming.RemoveChild(this); } } }