262a1078d5
... collected via --trace-zone-stats flag or v8.zone_stats trace category. This is an initial version inspired by heap-stats UI. Bug: v8:10572 Change-Id: Ib87cf0b4e120bc99683227eef02668a2a5c3d594 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2226855 Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#68133}
31 lines
845 B
JavaScript
31 lines
845 B
JavaScript
// 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.
|
|
|
|
const KB = 1024;
|
|
const MB = KB * KB;
|
|
const GB = MB * KB;
|
|
const kMillis2Seconds = 1 / 1000;
|
|
|
|
function formatBytes(bytes) {
|
|
const units = [' B', ' KB', ' MB', ' GB'];
|
|
const divisor = 1024;
|
|
let index = 0;
|
|
while (index < units.length && bytes >= divisor) {
|
|
index++;
|
|
bytes /= divisor;
|
|
}
|
|
return bytes.toFixed(2) + units[index];
|
|
}
|
|
|
|
function formatSeconds(millis) {
|
|
return (millis * kMillis2Seconds).toFixed(2) + 's';
|
|
}
|
|
|
|
function defineCustomElement(name, generator) {
|
|
let htmlTemplatePath = name + '-template.html';
|
|
fetch(htmlTemplatePath)
|
|
.then(stream => stream.text())
|
|
.then(templateText => customElements.define(name, generator(templateText)));
|
|
}
|