11cb0ef41Sopenharmony_ci<!DOCTYPE html>
21cb0ef41Sopenharmony_ci<!-- Copyright 2017 the V8 project authors. All rights reserved.
31cb0ef41Sopenharmony_ciUse of this source code is governed by a BSD-style license that can be
41cb0ef41Sopenharmony_cifound in the LICENSE file. -->
51cb0ef41Sopenharmony_ci
61cb0ef41Sopenharmony_ci<html lang="en">
71cb0ef41Sopenharmony_ci
81cb0ef41Sopenharmony_ci<head>
91cb0ef41Sopenharmony_ci  <meta charset="utf-8"/>
101cb0ef41Sopenharmony_ci  <title>V8 Tick Processor</title>
111cb0ef41Sopenharmony_ci  <link rel="stylesheet" href="profview.css">
121cb0ef41Sopenharmony_ci  <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
131cb0ef41Sopenharmony_ci  <link href="https://fonts.googleapis.com/icon?family=Material+Icons"
141cb0ef41Sopenharmony_ci      rel="stylesheet">
151cb0ef41Sopenharmony_ci
161cb0ef41Sopenharmony_ci  <script src="profview.js"></script>
171cb0ef41Sopenharmony_ci  <script src="profile-utils.js"></script>
181cb0ef41Sopenharmony_ci</head>
191cb0ef41Sopenharmony_ci
201cb0ef41Sopenharmony_ci<body onLoad="main.onLoad();" onResize="main.onResize();">
211cb0ef41Sopenharmony_ci<h3 style="margin-top: 2px;">
221cb0ef41Sopenharmony_ci  Chrome V8 profiling log processor
231cb0ef41Sopenharmony_ci</h3>
241cb0ef41Sopenharmony_ci
251cb0ef41Sopenharmony_ci<input type="file" id="fileinput" /><div id="source-status"></div>
261cb0ef41Sopenharmony_ci<br>
271cb0ef41Sopenharmony_ci<hr>
281cb0ef41Sopenharmony_ci
291cb0ef41Sopenharmony_ci<div id="help">
301cb0ef41Sopenharmony_ci  Usage:
311cb0ef41Sopenharmony_ci
321cb0ef41Sopenharmony_ci  <br>
331cb0ef41Sopenharmony_ci  <br>
341cb0ef41Sopenharmony_ci
351cb0ef41Sopenharmony_ci  Record the profile:
361cb0ef41Sopenharmony_ci  <pre>
371cb0ef41Sopenharmony_ci  d8 --prof your-file.js
381cb0ef41Sopenharmony_ci  </pre>
391cb0ef41Sopenharmony_ci
401cb0ef41Sopenharmony_ci  Then process the file (this resolves C++ symbols and produces
411cb0ef41Sopenharmony_ci  a JSON file with the profile data):
421cb0ef41Sopenharmony_ci
431cb0ef41Sopenharmony_ci  <pre>
441cb0ef41Sopenharmony_ci  &lt;v8-dir>/tools/linux-tick-processor --preprocess v8.log > v8.json
451cb0ef41Sopenharmony_ci  </pre>
461cb0ef41Sopenharmony_ci
471cb0ef41Sopenharmony_ci  To view the profile, click the <i>Choose file</i> button above and choose
481cb0ef41Sopenharmony_ci  the file in the dialog box.
491cb0ef41Sopenharmony_ci
501cb0ef41Sopenharmony_ci  <br>
511cb0ef41Sopenharmony_ci  <br>
521cb0ef41Sopenharmony_ci  For recording a profile from Chrome use:
531cb0ef41Sopenharmony_ci  <pre>
541cb0ef41Sopenharmony_ci    --no-sandbox --js-flags=--prof
551cb0ef41Sopenharmony_ci  </pre>
561cb0ef41Sopenharmony_ci
571cb0ef41Sopenharmony_ci  If running on Android use also use --single-process:
581cb0ef41Sopenharmony_ci  <pre>
591cb0ef41Sopenharmony_ci    --single-process --no-sandbox --js-flags=--prof
601cb0ef41Sopenharmony_ci  </pre>
611cb0ef41Sopenharmony_ci
621cb0ef41Sopenharmony_ci  If the profile is from Android pass the unstripped Chrome library to
631cb0ef41Sopenharmony_ci  resolve C++ symbols when processing the file using linux-tick-processor.
641cb0ef41Sopenharmony_ci  <pre>
651cb0ef41Sopenharmony_ci  &lt;v8-dir>/tools/linux-tick-processor --preprocess --apk-embedded-library=./out/Release/lib.unstripped/libchrome.so v8.log > v8.json
661cb0ef41Sopenharmony_ci  </pre>
671cb0ef41Sopenharmony_ci
681cb0ef41Sopenharmony_ci  More detailed instructions for Android here: https://v8.dev/docs/profile-chromium#android
691cb0ef41Sopenharmony_ci</div>
701cb0ef41Sopenharmony_ci
711cb0ef41Sopenharmony_ci<div id="timeline" style="display : none">
721cb0ef41Sopenharmony_ci  <div>
731cb0ef41Sopenharmony_ci  <canvas id="timeline-canvas"/>
741cb0ef41Sopenharmony_ci  </div>
751cb0ef41Sopenharmony_ci  <table>
761cb0ef41Sopenharmony_ci    <tr id="timeline-legend">
771cb0ef41Sopenharmony_ci    </tr>
781cb0ef41Sopenharmony_ci  </table>
791cb0ef41Sopenharmony_ci  <div>
801cb0ef41Sopenharmony_ci    Current code object: <span id="timeline-currentCode"></span>
811cb0ef41Sopenharmony_ci    <button id="source-viewer-hide-button">Hide source</button>
821cb0ef41Sopenharmony_ci  </div>
831cb0ef41Sopenharmony_ci  <div>
841cb0ef41Sopenharmony_ci    <table id="source-viewer"> </table>
851cb0ef41Sopenharmony_ci  </div>
861cb0ef41Sopenharmony_ci</div>
871cb0ef41Sopenharmony_ci
881cb0ef41Sopenharmony_ci<br>
891cb0ef41Sopenharmony_ci
901cb0ef41Sopenharmony_ci<div id="mode-bar" style="display : none">
911cb0ef41Sopenharmony_ci</div>
921cb0ef41Sopenharmony_ci
931cb0ef41Sopenharmony_ci<div id="calltree" style="display : none">
941cb0ef41Sopenharmony_ci  <br>
951cb0ef41Sopenharmony_ci  Attribution:
961cb0ef41Sopenharmony_ci  <select id="calltree-attribution">
971cb0ef41Sopenharmony_ci  </select>
981cb0ef41Sopenharmony_ci  Top-level tree buckets:
991cb0ef41Sopenharmony_ci  <select id="calltree-categories">
1001cb0ef41Sopenharmony_ci  </select>
1011cb0ef41Sopenharmony_ci  Sort by:
1021cb0ef41Sopenharmony_ci  <select id="calltree-sort">
1031cb0ef41Sopenharmony_ci  </select>
1041cb0ef41Sopenharmony_ci
1051cb0ef41Sopenharmony_ci  <br>
1061cb0ef41Sopenharmony_ci  <br>
1071cb0ef41Sopenharmony_ci
1081cb0ef41Sopenharmony_ci  <table id="calltree-table" class="calltree">
1091cb0ef41Sopenharmony_ci    <thead>
1101cb0ef41Sopenharmony_ci      <tr>
1111cb0ef41Sopenharmony_ci        <th class="numeric">Time (incl)</th>
1121cb0ef41Sopenharmony_ci        <th class="numeric">% of parent</th>
1131cb0ef41Sopenharmony_ci        <th id="calltree-table-own-time-header" class="numeric">Own time</th>
1141cb0ef41Sopenharmony_ci        <th>Function/category</th>
1151cb0ef41Sopenharmony_ci        <th class="numeric">Ticks</th>
1161cb0ef41Sopenharmony_ci        <th id="calltree-table-own-ticks-header" class="numeric">Own ticks</th>
1171cb0ef41Sopenharmony_ci      </tr>
1181cb0ef41Sopenharmony_ci    </thead>
1191cb0ef41Sopenharmony_ci    <tbody>
1201cb0ef41Sopenharmony_ci    </tbody>
1211cb0ef41Sopenharmony_ci  </table>
1221cb0ef41Sopenharmony_ci</div>
1231cb0ef41Sopenharmony_ci
1241cb0ef41Sopenharmony_ci<div id="summary" style="display : none">
1251cb0ef41Sopenharmony_ci</div>
1261cb0ef41Sopenharmony_ci
1271cb0ef41Sopenharmony_ci<div id="function-details" style="display : none">
1281cb0ef41Sopenharmony_ci</div>
1291cb0ef41Sopenharmony_ci
1301cb0ef41Sopenharmony_ci<p style="font-style:italic;">
1311cb0ef41Sopenharmony_ci<br>
1321cb0ef41Sopenharmony_ci<br>
1331cb0ef41Sopenharmony_ci<br>
1341cb0ef41Sopenharmony_ciCopyright the V8 Authors - Last change to this page: 2020/12/04
1351cb0ef41Sopenharmony_ci</p>
1361cb0ef41Sopenharmony_ci
1371cb0ef41Sopenharmony_ci</body>
1381cb0ef41Sopenharmony_ci</html>
139