diff options
author | 2015-09-15 11:18:29 +0000 | |
---|---|---|
committer | 2015-09-15 20:27:30 +0000 | |
commit | ee56459bc541eee81ffb2f7a6b5a9ff20cd4b279 (patch) | |
tree | 47f46355348774bb0e9f91c16f6c2e234b22fa30 | |
parent | 90eec0cc25fb23643d6ac9f0d8d60ba0c170f9f3 (diff) |
Add self-time relative to total time in HTML profiling output, enables finding optimizable functions faster.
--
MOS_MIGRATED_REVID=103081207
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/profiler/chart/SkylarkStatistics.java | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/profiler/chart/SkylarkStatistics.java b/src/main/java/com/google/devtools/build/lib/profiler/chart/SkylarkStatistics.java index 866d050498..ce3376aac2 100644 --- a/src/main/java/com/google/devtools/build/lib/profiler/chart/SkylarkStatistics.java +++ b/src/main/java/com/google/devtools/build/lib/profiler/chart/SkylarkStatistics.java @@ -199,31 +199,29 @@ public final class SkylarkStatistics { out.printf(" %s.addColumn('number', 'std dev (ms)');\n", tmpVar); out.printf(" %s.addColumn('number', 'mean self (ms)');\n", tmpVar); out.printf(" %s.addColumn('number', 'self (ms)');\n", tmpVar); + out.printf(" %s.addColumn('number', 'self (%%)');\n", tmpVar); out.printf(" %s.addColumn('number', 'total (ms)');\n", tmpVar); out.printf(" %s.addColumn('number', 'relative (%%)');\n", tmpVar); out.printf(" %s.addRows([\n", tmpVar); for (TasksStatistics stats : statsList) { double relativeTotal = (double) stats.totalNanos / totalNanos; + double relativeSelf = (double) stats.selfNanos / stats.totalNanos; String[] split = stats.name.split("#"); String location = split[0]; String name = split[1]; - out.printf( - " [{v:'%s', f:'%s'}, '%s', %d, %.3f, %.3f, %.3f, %.3f, %.3f, %.3f, %.3f, %.3f," - + " {v:%.4f, f:'%.3f %%'}],\n", - location, - abbreviatePath(location), - name, - stats.count, - stats.minimumMillis(), - stats.meanMillis(), - stats.medianMillis(), - stats.maximumMillis(), - stats.standardDeviationMillis, - stats.selfMeanMillis(), - stats.selfMillis(), - stats.totalMillis(), - relativeTotal, - relativeTotal * 100); + out.printf(" [{v:'%s', f:'%s'}, ", location, abbreviatePath(location)); + out.printf("'%s', ", name); + out.printf("%d, ", stats.count); + out.printf("%.3f, ", stats.minimumMillis()); + out.printf("%.3f, ", stats.meanMillis()); + out.printf("%.3f, ", stats.medianMillis()); + out.printf("%.3f, ", stats.maximumMillis()); + out.printf("%.3f, ", stats.standardDeviationMillis); + out.printf("%.3f, ", stats.selfMeanMillis()); + out.printf("%.3f, ", stats.selfMillis()); + out.printf("{v:%.4f, f:'%.3f %%'}, ", relativeSelf, relativeSelf * 100); + out.printf("%.3f, ", stats.totalMillis()); + out.printf("{v:%.4f, f:'%.3f %%'}],\n", relativeTotal, relativeTotal * 100); } out.println(" ]);"); out.printf(" %s.%s = %s;\n", dataVar, category, tmpVar); |