Index: tools/profviz/profviz.html |
diff --git a/tools/profviz/profviz.html b/tools/profviz/profviz.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e75959d93360e7904da2be8420794f0e9f3ade20 |
--- /dev/null |
+++ b/tools/profviz/profviz.html |
@@ -0,0 +1,76 @@ |
+<!DOCTYPE html> |
+<html lang="en-us"> |
+<head> |
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
+<title>V8 profile log plotter</title> |
+<style> |
+ textarea.log { font-family: monospace; width: 1400px; background-color: #ffe; color: #000; } |
+ button#start { width: 100px; } |
+ button#reset { width: 100px; } |
+ input.range { width: 80px; text-align: right; padding-right: 5px;} |
+ table { width: 1200px; } |
+ label { font-family: Verdana; font-size: 12px; } |
+ .tooltip { border-bottom: 1px dotted #000; } |
+ h1 { font-family: Verdana; font-size: 14px; font-weight: bold; } |
+ .text { font-family: Verdana; font-size: 12px; } |
+ .tt { font-family: monospace; font-size: 12px; color: #822; } |
+ a { font-family: Verdana; font-size: 12px; text-decoration: none; color: #282; } |
+</style> |
+</head> |
+<body onload="onload()"> |
+ |
+<img src="" id="plot" type="image/svg+xml" width="1400" height="600" class="float-right"> |
+<br/> |
+<table> |
+<tr> |
+<td width="20%"> |
+ <button type="button" id="start" onclick="start()">Start plot</button> |
+ <button type="button" id="reset" onclick="ui.reset(); worker.reset();">Reset</button> |
+</td> |
+<td width="20%"> |
+ <input type="file" id="file" onchange="ui.reset();"/> |
+</td> |
+<td width="30%"> |
+ <label title="You can manually choose the range to plot only part of the log file."> |
+ <span class="tooltip">Range</span>: |
+ </label> |
+ <input type="text" id="range_start" class="range"/> |
+ <label>to</label> |
+ <input type="text" id="range_end" class="range"/> |
+</td> |
+ |
+<td width="30%"> |
+ <label title="We model profiling overhead by accounting a constant execution delay to each log entry. Adjust to better suit your computer's performance."> |
+ <span class="tooltip">Delay per log entry</span>: |
+ </label> |
+ <input type="text" id="distortion" class="range" value="4500"/> |
+ <label>picoseconds</label> |
+</td> |
+</tr> |
+</table> |
+ |
+<br/> |
+<textarea class="log" id="log" rows="8" disabled=true></textarea> |
+ |
+<script src="profviz.js"></script> |
+ |
+<div class="text"> |
+<h1>Instructions</h1> |
+<ol> |
+ <li>Run V8 with <span class="tt">--prof --log-timer-events</span>, or alternatively,<br/> |
+Chrome with <span class="tt">--no-sandbox --js-flags="--prof --noprof-lazy --log-timer-events"</span> to produce <span class="tt">v8.log</span>.</li> |
+ <li>Open <span class="tt">v8.log</span> on this page. Don't worry, it won't be uploaded anywhere.</li> |
+ <li>Click "Start plot" to starts number crunching. This will take a while.</li> |
+</ol> |
+</div> |
+ |
+<div class="text"> |
+<h1>Credits</h1> |
+<ul> |
+ <li>Christian Huettig for the <a href="http://gnuplot.respawned.com/">Javascript port</a> of Gnuplot 4.6.3.</li> |
+ <li>The <a href="https://github.com/kripken/emscripten">Emscripten compiler</a> that made the port possible.</li> |
+ <li>The <a href="http://www.gnuplot.info/">Gnuplot project</a>.</li> |
+ <li>The <a href="https://developers.google.com/v8/">V8 project</a>.</li> |
+</ul> |
+</div> |
+</body></html> |