Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
-
CI results over the last 21 days0Runs–Pass0Failures0Timeouts0Crashes2,449Skips
Scheduled runs skipped per day (up to 100%) Oct 25Nov 14 - Manifest: toolkit/components/pdfjs/test/perf/perftest.toml
/* Any copyright is dedicated to the Public Domain.
"use strict";
// Measure opening times from the viewer's navigation start, reporting the
// first open separately.
//
// perfMetadata is parsed by esprima (ES2017): no optional chaining, nullish
// coalescing or object spread in this file.
const perfMetadata = {
owner: "PDF.js Team",
name: "browser_pdfjs_ui_open_perf.js",
description:
"Time for the PDF.js viewer to open PDFs with 1 and 1000 empty pages, from the navigation start",
options: {
default: {
perfherder: true,
perfherder_metrics: [
{
name: "PDFJS-UI-first-open-pagesinit",
unit: "ms",
shouldAlert: false,
},
{
name: "PDFJS-UI-first-open-pagerendered",
unit: "ms",
shouldAlert: false,
},
{ name: "PDFJS-UI-open-1p-pagesinit", unit: "ms", shouldAlert: true },
{
name: "PDFJS-UI-open-1p-pagerendered",
unit: "ms",
shouldAlert: true,
},
{
name: "PDFJS-UI-open-1p-render-delay",
unit: "ms",
shouldAlert: false,
},
{
name: "PDFJS-UI-open-1000p-pagesinit",
unit: "ms",
shouldAlert: true,
},
{
name: "PDFJS-UI-open-1000p-pagerendered",
unit: "ms",
shouldAlert: true,
},
{
name: "PDFJS-UI-open-1000p-pagesloaded",
unit: "ms",
shouldAlert: true,
},
],
verbose: true,
manifest: "perftest.toml",
manifest_flavor: "browser-chrome",
try_platform: ["linux", "mac", "win"],
},
},
};
const OPENS = 15;
const MARKS = ["pdfjs:pagesinit", "pdfjs:pagerendered:1", "pdfjs:pagesloaded"];
requestLongerTimeout(5);
add_task(async function test_open() {
recordViewerEventsAsMarks(["pagesinit", "pagerendered", "pagesloaded"]);
const metrics = {};
const record = (name, value) => {
if (!metrics[name]) {
metrics[name] = [];
}
metrics[name].push(value);
};
await BrowserTestUtils.withNewTab(
{ gBrowser, url: "about:blank" },
async browser => {
const runs = [
{ label: "first-open", file: "file_pdfjs_empty_1.pdf", count: 1 },
{ label: "open-1p", file: "file_pdfjs_empty_1.pdf", count: OPENS },
{
label: "open-1000p",
file: "file_pdfjs_empty_1000.pdf",
count: OPENS,
},
];
for (const { label, file, count } of runs) {
for (let i = 0; i < count; i++) {
await openPdf(browser, file);
const [pagesinit, pagerendered, pagesloaded] = await readMarks(
browser,
MARKS
);
record(`PDFJS-UI-${label}-pagesinit`, pagesinit);
record(`PDFJS-UI-${label}-pagerendered`, pagerendered);
if (label === "open-1p") {
record("PDFJS-UI-open-1p-render-delay", pagerendered - pagesinit);
} else if (label === "open-1000p") {
record("PDFJS-UI-open-1000p-pagesloaded", pagesloaded);
}
await closePdf(browser);
}
}
}
);
reportMetrics(metrics);
});