diff options
-rw-r--r-- | Mono.Profiler/profiler-file-decoder/ChangeLog | 4 | ||||
-rw-r--r-- | Mono.Profiler/profiler-file-decoder/Main.cs | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/Mono.Profiler/profiler-file-decoder/ChangeLog b/Mono.Profiler/profiler-file-decoder/ChangeLog index b9c658e6..2ab30cdc 100644 --- a/Mono.Profiler/profiler-file-decoder/ChangeLog +++ b/Mono.Profiler/profiler-file-decoder/ChangeLog @@ -1,3 +1,7 @@ +2009-06-12 Massimiliano Mantione <massi@ximian.com> + * Main.cs: Also show method execution time grouped by + individual stack frames in the call tree + 2009-06-09 Mike Kestner <mkestner@novell.com> * Main.cs: commit Massi's new calls profile formatting code. diff --git a/Mono.Profiler/profiler-file-decoder/Main.cs b/Mono.Profiler/profiler-file-decoder/Main.cs index 1cd7e669..812a3337 100644 --- a/Mono.Profiler/profiler-file-decoder/Main.cs +++ b/Mono.Profiler/profiler-file-decoder/Main.cs @@ -118,7 +118,7 @@ namespace Mono.Profiler writer.Write (" "); } LoadedMethod currentMethod = stackFrame.TopMethod; - double currentSeconds = data.ClicksToSeconds (stackFrame.TopMethod.Clicks); + double currentSeconds = data.ClicksToSeconds (stackFrame.Clicks); writer.WriteLine ("{0,5:F2}% ({1:F6}s, {2} calls) {3}.{4}", ((currentSeconds / callerSeconds) * 100), currentSeconds, stackFrame.Calls, currentMethod.Class.Name, currentMethod.Name); foreach (StackTrace calledFrame in stackFrame.CalledFrames) { PrintExecutionTimeByCallStack (writer, data, calledFrame, currentSeconds, indentationLevel + 1); @@ -173,7 +173,8 @@ namespace Mono.Profiler } } - writer.WriteLine ("Reporting execution time by stack frame (on {0} methods)", methods.Length); + PrintSeparator (writer); + writer.WriteLine ("Reporting execution time by stack frame"); foreach (StackTrace rootFrame in StackTrace.RootFrames) { PrintExecutionTimeByCallStack (writer, data, rootFrame, data.ClicksToSeconds (totalExecutionClicks), 0); } |