Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(74)

Unified Diff: tools/plot-timer-events.js

Issue 11543019: Find plot range with only sampling ticks (profiling with only --prof). (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/plot-timer-events.js
diff --git a/tools/plot-timer-events.js b/tools/plot-timer-events.js
index 4b17e767404aaca774dd46e1beb1f7f0618bc937..855e9d28b3a193d1e2deba943565c3f89da7eb3b 100644
--- a/tools/plot-timer-events.js
+++ b/tools/plot-timer-events.js
@@ -94,8 +94,8 @@ var CodeKinds = {
}
-var xrange_start = Infinity;
-var xrange_end = 0;
+var xrange_start;
+var xrange_end;
var obj_index = 0;
var execution_pauses = [];
var code_map = new CodeMap();
@@ -268,6 +268,38 @@ function Undistort() {
}
+function FindPlotRange() {
+ var start_found = (xrange_start_override || xrange_start_override == 0);
+ var end_found = (xrange_end_override || xrange_end_override == 0);
+ xrange_start = start_found ? xrange_start_override : Infinity;
+ xrange_end = end_found ? xrange_end_override : -Infinity;
+
+ if (start_found && end_found) return;
+
+ var execution_ranges = kExecutionEvent.ranges;
+ for (var i = 0; i < execution_ranges.length; i++) {
+ if (execution_ranges[i].start < xrange_start && !start_found) {
+ xrange_start = execution_ranges[i].start;
+ }
+ if (execution_ranges[i].end > xrange_end && !end_found) {
+ xrange_end = execution_ranges[i].end;
+ }
+ }
+
+ for (codekind in CodeKinds) {
+ var ticks = CodeKinds[codekind].in_execution;
+ for (var i = 0; i < ticks.length; i++) {
+ if (ticks[i].tick < xrange_start && !start_found) {
+ xrange_start = ticks[i].tick;
+ }
+ if (ticks[i].tick > xrange_end && !end_found) {
+ xrange_end = ticks[i].tick;
+ }
+ }
+ }
+}
+
+
function CollectData() {
// Collect data from log.
var logreader = new LogReader(
@@ -297,17 +329,6 @@ function CollectData() {
Undistort();
- // Figure out plot range.
- var execution_ranges = kExecutionEvent.ranges;
- for (var i = 0; i < execution_ranges.length; i++) {
- if (execution_ranges[i].start < xrange_start) {
- xrange_start = execution_ranges[i].start;
- }
- if (execution_ranges[i].end > xrange_end) {
- xrange_end = execution_ranges[i].end;
- }
- }
-
// Collect execution pauses.
for (name in TimerEvents) {
var event = TimerEvents[name];
@@ -466,10 +487,8 @@ function ExcludeRanges(include, exclude) {
function GnuplotOutput() {
- xrange_start = (xrange_start_override || xrange_start_override == 0)
- ? xrange_start_override : xrange_start;
- xrange_end = (xrange_end_override || xrange_end_override == 0)
- ? xrange_end_override : xrange_end;
+ FindPlotRange();
+
print("set terminal pngcairo size " + kResX + "," + kResY +
" enhanced font 'Helvetica,10'");
print("set yrange [0:" + (num_timer_event + 1) + "]");
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698