Esempio n. 1
0
        /// <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();
                }
            }
        }
Esempio n. 2
0
        /// <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);
                }
            }
        }