| <!DOCTYPE html> |
| <!-- Copyright 2013 the V8 project authors. All rights reserved. |
| |
| Redistribution and use in source and binary forms, with or without |
| modification, are permitted provided that the following conditions are |
| met: |
| * Redistributions of source code must retain the above copyright |
| notice, this list of conditions and the following disclaimer. |
| * Redistributions in binary form must reproduce the above |
| copyright notice, this list of conditions and the following |
| disclaimer in the documentation and/or other materials provided |
| with the distribution. |
| * Neither the name of Google Inc. nor the names of its |
| contributors may be used to endorse or promote products derived |
| from this software without specific prior written permission. |
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --> |
| |
| <html lang="en-us"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <title>V8 profile log plotter</title> |
| <link rel="stylesheet" type="text/css" href="profviz.css"> |
| <script src="profviz.js"></script> |
| </head> |
| |
| <body onload="onload()"> |
| <div id="content"> |
| |
| <img src="" id="plot" type="image/svg+xml" class="display" |
| width="1200" height="600" class="float-right"/> |
| |
| <textarea id="prof" class="display" disabled=true></textarea> |
| <br/> |
| |
| <table width="1200"> |
| <tr> |
| <td width="330"> |
| <button id="start" onclick="start()"> |
| Start |
| </button> |
| <button id="reset" onclick="ui.reset(); worker.reset();"> |
| Reset |
| </button> |
| <button id="toggledisplay" onclick="ui.toggle();"> |
| Show profile |
| </button> |
| </td> |
| <td width="220"> |
| <input type="file" id="file" onchange="ui.reset();"/> |
| </td> |
| <td width="300"> |
| <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="350"> |
| <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> |
| |
| <div class="text"> |
| <h1> |
| <a href="javascript:ui.info('instructions');" class="unroll"> |
| Instructions |
| </a> |
| </h1> |
| <div id="instructions"> |
| <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 --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" to start number crunching. This will take a while. |
| </li> |
| <li> |
| Click "Show plot/profile" to switch between the statistical profile and |
| the timeline plot.<br/> |
| C++ items are missing in the statistical profile because symbol |
| information is not available.<br> |
| Consider using the |
| <a href="https://code.google.com/p/v8/wiki/V8Profiler"> |
| command-line utility |
| </a> instead. |
| </li> |
| </ol> |
| If you expect multiple V8 instances to run concurrently, for example |
| with several tabs in Chrome,<br/> |
| add the V8 flag <span class="tt">--logfile=v8.%p.log</span> |
| so that each instance writes to its own log file. |
| </div> |
| </div> |
| |
| <div class="text"> |
| <h1> |
| <a href="javascript:ui.info('credits');" class="unroll"> |
| Credits |
| </a> |
| </h1> |
| <div id="credits"> |
| <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> |
| </div> |
| |
| </div> |
| </body> |
| </html> |