Beispiel #1
0
 private static string FormatEvent(PerfTraceEvent e, PerfTraceEvent root, PerfTraceEvent parent)
 {
     var builder = new StringBuilder();
     FormatEventTimeStat(builder, e, root, parent);
     builder.Append($" {e.Type.Bold()} {e.Instance}");
     return builder.ToString();
 }
Beispiel #2
0
        private static string FormatEvent(PerfTraceEvent e, PerfTraceEvent root, PerfTraceEvent parent)
        {
            var builder = new StringBuilder();

            FormatEventTimeStat(builder, e, root, parent);
            builder.Append($" {e.Type.Bold()} {e.Instance}");
            return(builder.ToString());
        }
Beispiel #3
0
 private static void FormatEventTimeStat(StringBuilder builder, PerfTraceEvent e, PerfTraceEvent root, PerfTraceEvent parent)
 {
     builder.Append("[");
     if (root != e)
     {
         AppendTime(builder, e.Duration.TotalSeconds / root.Duration.TotalSeconds, 0.2);
     }
     AppendTime(builder, e.Duration.TotalSeconds / parent?.Duration.TotalSeconds, 0.5);
     builder.Append($"{e.Duration.ToString("ss\\.fff\\s").Blue()}]");
 }
Beispiel #4
0
 private static void FormatEventTimeStat(StringBuilder builder, PerfTraceEvent e, PerfTraceEvent root, PerfTraceEvent parent)
 {
     builder.Append("[");
     if (root != e)
     {
         AppendTime(builder, e.Duration.TotalSeconds / root.Duration.TotalSeconds, 0.2);
     }
     AppendTime(builder, e.Duration.TotalSeconds / parent?.Duration.TotalSeconds, 0.5);
     builder.Append($"{e.Duration.ToString("ss\\.fff\\s").Blue()}]");
 }
Beispiel #5
0
 private static void Print(Reporter reporter, IEnumerable<PerfTraceEvent> events, PerfTraceEvent root, PerfTraceEvent parent, int padding = 0)
 {
     foreach (var e in events)
     {
         if (e.Duration < _minDuration)
         {
             continue;
         }
         reporter.Write(new string(' ', padding));
         reporter.WriteLine(FormatEvent(e, root, parent));
         Print(reporter, e.Children, root, e, padding + 2);
     }
 }
Beispiel #6
0
 private static void Print(Reporter reporter, IEnumerable <PerfTraceEvent> events, PerfTraceEvent root, PerfTraceEvent parent, int padding = 0)
 {
     foreach (var e in events)
     {
         if (e.Duration < _minDuration)
         {
             continue;
         }
         reporter.Write(new string(' ', padding));
         reporter.WriteLine(FormatEvent(e, root, parent));
         Print(reporter, e.Children, root, e, padding + 2);
     }
 }
 private void RecordTiming(PerfTraceEvent newEvent, TimerDisposable parent)
 {
     Interlocked.Exchange(ref _activeEvent, parent);
     _activeEvent.Children.Add(newEvent);
 }
Beispiel #8
0
 private void RecordTiming(PerfTraceEvent newEvent, TimerDisposable parent)
 {
     Interlocked.Exchange(ref _activeEvent, parent);
     _activeEvent.Children.Add(newEvent);
 }