private void BuildTiming(spGetTraceAndTimingsResult trace, Timing timing) { timing.Id = trace.TimingId.GetValueOrDefault(Guid.Empty).ToString(); timing.Name = trace.TimingName ?? UNKNOWN; timing.IsRoot = trace.IsRoot.GetValueOrDefault(); timing.Start = trace.Start.GetValueOrDefault(); timing.Duration = trace.Duration.GetValueOrDefault(); timing.DurationWithOutChildren = trace.DurationWithOutChildren.GetValueOrDefault(); timing.KeyValues = trace.KeyValues ?? UNKNOWN; timing.ManagedThreadId = trace.ManagedThreadId.GetValueOrDefault(); timing.Order = trace.ProfiledOrder.GetValueOrDefault(); timing.ParentId = trace.ParentTimingId.GetValueOrDefault(Guid.Empty).ToString(); }
private void BuildDebugAndRoot(spGetTraceAndTimingsResult trace, Debug debug) { BuildDebug(trace, debug); BuildTiming(trace, debug.Head); BuildSqlTimingCount(trace, debug.Head); }
private void BuildSqlTimingCount(spGetTraceAndTimingsResult trace, Timing timing) { var sqlDuration = trace.SqlTimingDuration.GetValueOrDefault(); var nonQueries = trace.ExecutedNonQueries.GetValueOrDefault(); var readers = trace.ExecutedReaders.GetValueOrDefault(); var scalars = trace.ExecutedScalers.GetValueOrDefault(); timing.SqlTimingsCount = nonQueries + readers + scalars; timing.SqlTimingDuration = sqlDuration; timing.ExecutedNonQueries = nonQueries; timing.ExecutedReaders = readers; timing.ExecutedScalers = scalars; }
private static void BuildDebug(spGetTraceAndTimingsResult trace, Debug debug) { debug.Id = trace.ProfilerId.ToString(); debug.Code = trace.Code ?? UNKNOWN; debug.MachineName = trace.MachineName ?? UNKNOWN; debug.Method = trace.Method ?? UNKNOWN; debug.Name = trace.DebugName ?? UNKNOWN; debug.RequestUrl = trace.RequestUrl ?? UNKNOWN; debug.StartedUtc = trace.StartedUtc.GetValueOrDefault(); debug.Level = trace.ProfileLevel ?? UNKNOWN; debug.UserName = trace.UserName ?? UNKNOWN; debug.TransactionId = trace.TransactionId.GetValueOrDefault(Guid.Empty).ToString(); debug.Head = new Timing(); }