94bce1dcac
This changes all tools to use ES6 modules and proper imports. Step 1: Add converted .mjs files (*this CL*) Step 2: Update node-ci build to use new .mjs files Step 3: Remove outdated .js files Bug: v8:10667, v8:10933 Change-Id: I3e92e66f896d8a9cacaf6d421f8d2c86fb3bc444 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2431045 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#70163}
204 lines
5.0 KiB
HTML
204 lines
5.0 KiB
HTML
<!DOCTYPE html>
|
||
<!-- Copyright 2020 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>Indicium</title>
|
||
<link href='https://fonts.googleapis.com/css?family=Roboto' rel='stylesheet'>
|
||
<!-- <link rel="icon" type="image/png" href="/images/favicon.png"/> -->
|
||
<script type="module" src="index.mjs"></script>
|
||
<link rel="stylesheet" type="text/css" href="./index.css">
|
||
<style>
|
||
#instructions {
|
||
padding: 10px 10px 60px 10px;
|
||
margin: auto;
|
||
}
|
||
|
||
kbd {
|
||
background-color: var(--primary-color);
|
||
color: var(--on-primary-color);
|
||
border-radius: 3px;
|
||
border: 1px solid var(--on-primary-color);
|
||
display: inline-block;
|
||
font-size: .9em;
|
||
font-weight: bold;
|
||
padding: 0px 4px 2px 4px;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.theme-switch-wrapper {
|
||
display: inline-block;
|
||
align-items: center;
|
||
}
|
||
|
||
.theme-switch {
|
||
display: inline-block;
|
||
height: 34px;
|
||
position: relative;
|
||
width: 60px;
|
||
}
|
||
|
||
.theme-switch input {
|
||
display: none;
|
||
}
|
||
|
||
.slider {
|
||
background-color: var(--primary-color);
|
||
bottom: 0;
|
||
cursor: pointer;
|
||
left: 0;
|
||
position: absolute;
|
||
right: 0;
|
||
top: 0;
|
||
transition: .4s;
|
||
}
|
||
|
||
.slider:before {
|
||
background-color: var(--surface-color);
|
||
bottom: 4px;
|
||
content: "";
|
||
height: 26px;
|
||
left: 4px;
|
||
position: absolute;
|
||
transition: .4s;
|
||
width: 26px;
|
||
}
|
||
|
||
input:checked+.slider {
|
||
background-color: var(--primary-color);
|
||
}
|
||
|
||
input:checked+.slider:before {
|
||
transform: translateX(26px);
|
||
}
|
||
|
||
.slider.round {
|
||
border-radius: 34px;
|
||
}
|
||
|
||
.slider.round:before {
|
||
border-radius: 50%;
|
||
}
|
||
|
||
#container.initial {
|
||
display: none;
|
||
}
|
||
|
||
#container.loaded {
|
||
display: grid;
|
||
align-content: center;
|
||
grid-template-columns: repeat(auto-fit, minmax(400px, 800px));
|
||
grid-template-rows: repeat(auto-fit, minmax(400px, 800px));
|
||
grid-auto-flow: dense;
|
||
}
|
||
|
||
#container.loaded>#timeline-panel {
|
||
grid-column: span 2;
|
||
overflow: scroll;
|
||
}
|
||
|
||
a {
|
||
color: var(--primary-color);
|
||
}
|
||
|
||
a:hover {
|
||
color: var(--secondary-color);
|
||
}
|
||
</style>
|
||
<script type="module">
|
||
import { App } from './index.mjs';
|
||
|
||
globalThis.app = new App("#log-file-reader", "#map-panel",
|
||
"#timeline-panel", "#ic-panel", "#map-track", "#ic-track",
|
||
"#source-panel");
|
||
</script>
|
||
</head>
|
||
|
||
<body>
|
||
<div id="content">
|
||
<section id="file-reader">
|
||
<log-file-reader id="log-file-reader"></log-file-reader>
|
||
</section>
|
||
<div class="theme-switch-wrapper">
|
||
<label class="theme-switch" for="checkbox">
|
||
<input type="checkbox" id="checkbox" />
|
||
<div class="slider round"></div>
|
||
</label>
|
||
</div>
|
||
<div id="container" class="initial">
|
||
<timeline-panel id="timeline-panel">
|
||
<timeline-track id="map-track"></timeline-track>
|
||
<timeline-track id="ic-track"></timeline-track>
|
||
</timeline-panel>
|
||
<map-panel id="map-panel"></map-panel>
|
||
<ic-panel id="ic-panel" onchange="app.handleSelectIc(event)"></ic-panel>
|
||
<source-panel id="source-panel"></source-panel>
|
||
</div>
|
||
</div>
|
||
<div id="instructions">
|
||
<h2>Instructions</h2>
|
||
<p>
|
||
Unified web interface to analyse runtime information stored in the v8 log.
|
||
</p>
|
||
For generating log file from
|
||
<a href="https://v8.dev/docs/build" target="_blank">d8</a>:
|
||
<p>
|
||
Log Options:
|
||
</p>
|
||
<dl>
|
||
<dt>--trace-maps:</dt>
|
||
<dd>Log<a href="https://v8.dev/blog/fast-properties" target="_blank">
|
||
Maps</a></dd>
|
||
<dt>--trace_ic:</dt>
|
||
<dd>Log
|
||
<a href="https://mathiasbynens.be/notes/shapes-ics" target="_blank">
|
||
ICs</a></dd>
|
||
<dt>--log-source-code:</dt>
|
||
<dd>Log source code</dd>
|
||
</dl>
|
||
Usage:
|
||
<ul>
|
||
<li><code>/path/do/d8 --trace-maps --trace_ic --log-source-code $FILE
|
||
</code></li>
|
||
</ul>
|
||
For generating a log file from Chrome:
|
||
<ul>
|
||
<li><code>/path/to/chrome --user-data-dir=/var/tmp/chr1 --no-sandbox
|
||
--js-flags='--trace-ic --trace-maps --log-source-code’
|
||
$WEBSITE_URL</code></li>
|
||
</ul>
|
||
<h3>Keyboard Shortcuts for Navigation</h3>
|
||
<dl>
|
||
<dt><kbd>SHIFT</kbd> + <kbd>Arrow Up</kbd></dt>
|
||
<dd>Follow Map transition forward (first child)</dd>
|
||
|
||
<dt><kbd>SHIFT</kbd> + <kbd>Arrow Down</kbd></dt>
|
||
<dd>Follow Map transition backwards</dd>
|
||
|
||
<dt><kbd>Arrow Up</kbd></dt>
|
||
<dd>Go to previous Map chunk</dd>
|
||
|
||
<dt><kbd>Arrow Down</kbd></dt>
|
||
<dd>Go to next Map in chunk</dd>
|
||
|
||
<dt><kbd>Arrow Left</kbd></dt>
|
||
<dd>Go to previous chunk</dd>
|
||
|
||
<dt><kbd>Arrow Right</kbd></dt>
|
||
<dd>Go to next chunk</dd>
|
||
|
||
<dt><kbd>+</kbd></dt>
|
||
<dd>Timeline zoom in</dd>
|
||
|
||
<dt><kbd>-</kbd></dt>
|
||
<dd>Timeline zoom out</dd>
|
||
</dl>
|
||
</div>
|
||
</body>
|
||
|
||
</html>
|