示例#1
0
        private void SaveTiming(Timing timing)
        {
            var rootTiming = new TimingPoco
            {
                Id                   = timing.Id,
                ParentTimingId       = timing.IsRoot ? (Guid?)null : timing.ParentTiming.Id,
                Name                 = timing.Name,
                StartMilliseconds    = (double)timing.StartMilliseconds,
                DurationMilliseconds = (double)timing.DurationMilliseconds
            };

            Timings.Insert(rootTiming);

            if (timing.HasChildren)
            {
                foreach (var child in timing.Children)
                {
                    SaveTiming(child);
                }
            }

            if (timing.HasCustomTimings)
            {
                foreach (var customTimingsKV in timing.CustomTimings)
                {
                    SaveCustomTimings(timing, customTimingsKV);
                }
            }
        }
示例#2
0
        private static Timing TimingPocoToTiming(TimingPoco timingPoco)
        {
            if (timingPoco == null)
            {
                return(null);
            }

#pragma warning disable 618
            return(new Timing
#pragma warning restore 618
            {
                Id = timingPoco.Id,
                Name = timingPoco.Name,
                StartMilliseconds = (decimal)timingPoco.StartMilliseconds,
                DurationMilliseconds = (decimal)timingPoco.DurationMilliseconds,
            });
        }
示例#3
0
        /// <summary>
        /// Saves parameter Timing to the timings table.
        /// </summary>
        private void SaveTiming(MiniProfiler profiler, Timing t)
        {
            var timingPoco = new TimingPoco
            {
                Id                   = t.Id.ToString(),
                MiniProfilerId       = profiler.Id.ToString(),
                ParentTimingId       = t.IsRoot ? (string)null : t.ParentTiming.Id.ToString(),
                Name                 = Truncate(t.Name, 200),
                Depth                = t.Depth,
                StartMilliseconds    = (double)t.StartMilliseconds,
                DurationMilliseconds = (double)t.DurationMilliseconds,
                DurationWithoutChildrenMilliseconds = (double)t.DurationWithoutChildrenMilliseconds,
                SqlTimingsDurationMilliseconds      = (double)t.SqlTimingsDurationMilliseconds,
                IsRoot                 = t.IsRoot,
                HasChildren            = t.HasChildren,
                IsTrivial              = t.IsTrivial,
                HasSqlTimings          = t.HasSqlTimings,
                HasDuplicateSqlTimings = t.HasDuplicateSqlTimings,
                ExecutedReaders        = t.ExecutedReaders,
                ExecutedScalars        = t.ExecutedScalars,
                ExecutedNonQueries     = t.ExecutedNonQueries
            };

            Timings.Insert(timingPoco);

            if (t.HasSqlTimings)
            {
                foreach (var st in t.SqlTimings)
                {
                    SaveSqlTiming(profiler, st);
                }
            }

            if (t.HasChildren)
            {
                foreach (var child in t.Children)
                {
                    SaveTiming(profiler, child);
                }
            }
        }
示例#4
0
        /// <summary>
        /// Saves parameter Timing to the timings table.
        /// </summary>
        private void SaveTiming(MiniProfiler profiler, Timing t)
        {
            var timingPoco = new TimingPoco
            {
                Id = t.Id.ToString(),
                MiniProfilerId = profiler.Id.ToString(),
                ParentTimingId =  t.IsRoot ? (string)null : t.ParentTiming.Id.ToString(),
                Name = Truncate(t.Name, 200),
                Depth = t.Depth,
                StartMilliseconds = (double)t.StartMilliseconds,
                DurationMilliseconds = (double)t.DurationMilliseconds,
                DurationWithoutChildrenMilliseconds = (double)t.DurationWithoutChildrenMilliseconds,
                SqlTimingsDurationMilliseconds = (double)t.SqlTimingsDurationMilliseconds,
                IsRoot = t.IsRoot,
                HasChildren = t.HasChildren,
                IsTrivial = t.IsTrivial,
                HasSqlTimings = t.HasSqlTimings,
                HasDuplicateSqlTimings = t.HasDuplicateSqlTimings,
                ExecutedReaders = t.ExecutedReaders,
                ExecutedScalars = t.ExecutedScalars,
                ExecutedNonQueries = t.ExecutedNonQueries
            };

            Timings.Insert(timingPoco);

            if (t.HasSqlTimings)
            {
                foreach (var st in t.SqlTimings)
                {
                    SaveSqlTiming(profiler, st);
                }
            }

            if (t.HasChildren)
            {
                foreach (var child in t.Children)
                {
                    SaveTiming(profiler, child);
                }
            }
        }
示例#5
0
        private static Timing TimingPocoToTiming(TimingPoco timingPoco)
        {
            if (timingPoco == null)
                return null;

#pragma warning disable 618
            return new Timing
#pragma warning restore 618
            {
                Id = timingPoco.Id,
                Name = timingPoco.Name,
                StartMilliseconds = (decimal) timingPoco.StartMilliseconds,
                DurationMilliseconds = (decimal) timingPoco.DurationMilliseconds,
            };
        }
示例#6
0
        private void SaveTiming(Timing timing)
        {
            var rootTiming = new TimingPoco
            {
                Id = timing.Id,
                ParentTimingId = timing.IsRoot ? (Guid?)null : timing.ParentTiming.Id,
                Name = timing.Name,
                StartMilliseconds = (double)timing.StartMilliseconds,
                DurationMilliseconds = (double)timing.DurationMilliseconds
            };

            Timings.Insert(rootTiming);

            if (timing.HasChildren)
            {
                foreach (var child in timing.Children)
                {
                    SaveTiming(child);
                }
            }

            if (timing.HasCustomTimings)
            {
                foreach (var customTimingsKV in timing.CustomTimings)
                {
                    SaveCustomTimings(timing, customTimingsKV);
                }
            }
        }