index.html 3.14 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
<!DOCTYPE html>
<!-- Copyright 2017 the V8 project authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file. -->

<html lang="en">

<head>
  <meta charset="utf-8"/>
  <title>V8 Tick Processor</title>
  <link rel="stylesheet" href="profview.css">
  <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
  <link href="https://fonts.googleapis.com/icon?family=Material+Icons"
      rel="stylesheet">

  <script src="profview.js"></script>
  <script src="profile-utils.js"></script>
</head>

<body onLoad="main.onLoad();" onResize="main.onResize();">
<h3 style="margin-top: 2px;">
  Chrome V8 profiling log processor
</h3>

25
<input type="file" id="fileinput" /><div id="source-status"></div>
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
<br>
<hr>

<div id="help">
  Usage:

  <br>
  <br>

  Record the profile:
  <pre>
  d8 --prof your-file.js
  </pre>

  Then process the file (this resolves C++ symbols and produces
  a JSON file with the profile data):

  <pre>
  &lt;v8-dir>/tools/linux-tick-processor --preprocess v8.log > v8.json
  </pre>

  To view the profile, click the <i>Choose file</i> button above and choose
  the file in the dialog box.

50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
  <br>
  <br>
  For recording a profile from Chrome use:
  <pre>
    --no-sandbox --js-flags=--prof
  </pre>

  If running on Android use also use --single-process:
  <pre>
    --single-process --no-sandbox --js-flags=--prof
  </pre>

  If the profile is from Android pass the unstripped Chrome library to
  resolve C++ symbols when processing the file using linux-tick-processor.
  <pre>
  &lt;v8-dir>/tools/linux-tick-processor --preprocess --apk-embedded-library=./out/Release/lib.unstripped/libchrome.so v8.log > v8.json
  </pre>

  More detailed instructions for Android here: https://v8.dev/docs/profile-chromium#android
69 70 71 72 73 74 75 76 77 78
</div>

<div id="timeline" style="display : none">
  <div>
  <canvas id="timeline-canvas"/>
  </div>
  <table>
    <tr id="timeline-legend">
    </tr>
  </table>
79 80
  <div>
    Current code object: <span id="timeline-currentCode"></span>
81 82 83 84
    <button id="source-viewer-hide-button">Hide source</button>
  </div>
  <div>
    <table id="source-viewer"> </table>
85
  </div>
86 87 88 89
</div>

<br>

90 91
<div id="mode-bar" style="display : none">
</div>
92

93
<div id="calltree" style="display : none">
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
  <br>
  Attribution:
  <select id="calltree-attribution">
  </select>
  Top-level tree buckets:
  <select id="calltree-categories">
  </select>
  Sort by:
  <select id="calltree-sort">
  </select>

  <br>
  <br>

  <table id="calltree-table" class="calltree">
    <thead>
      <tr>
        <th class="numeric">Time (incl)</th>
        <th class="numeric">% of parent</th>
        <th id="calltree-table-own-time-header" class="numeric">Own time</th>
        <th>Function/category</th>
        <th class="numeric">Ticks</th>
        <th id="calltree-table-own-ticks-header" class="numeric">Own ticks</th>
      </tr>
    </thead>
    <tbody>
    </tbody>
  </table>
</div>

124 125 126 127 128 129
<div id="summary" style="display : none">
</div>

<div id="function-details" style="display : none">
</div>

130 131 132 133
<p style="font-style:italic;">
<br>
<br>
<br>
134
Copyright the V8 Authors - Last change to this page: 2020/12/04
135 136 137 138
</p>

</body>
</html>