Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono-tools.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMassimiliano Mantione <massi@mono-cvs.ximian.com>2009-06-12 11:57:04 +0400
committerMassimiliano Mantione <massi@mono-cvs.ximian.com>2009-06-12 11:57:04 +0400
commit7e673274b65be2c20857f3d495ae8aea3a22ebb4 (patch)
tree2938930d6a8035f0021028452fbc6730b6918df5
parent7d647f4d12234f9d8bb0337c89015fa84fc656d9 (diff)
Also show method execution time grouped by individual stack frames in the call tree.
svn path=/trunk/mono-tools/; revision=135973
-rw-r--r--Mono.Profiler/profiler-file-decoder/ChangeLog4
-rw-r--r--Mono.Profiler/profiler-file-decoder/Main.cs5
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);
}