diff --git a/core/scripts/lantern/collect/README.md b/core/scripts/lantern/collect/README.md index 297ab47dbcb7..1b894deee620 100644 --- a/core/scripts/lantern/collect/README.md +++ b/core/scripts/lantern/collect/README.md @@ -1,51 +1,75 @@ # Lantern Collect Traces -Collects many traces using a local machine and mobile devices via WPT. +Collects many traces using a local machine and a local mobile device. Must be run on Mac, as it relies on Link Conditioner. -There are 9 runs for each URL in the big zip. The golden zip contains just the median runs (by performance score), along with a dump of the `metrics` collected by Lighthouse. +The process to collect these traces requires a Mac device, and a mobile device (Moto G Power). The Mac will hotspot for the mobile device, and the Mac will use Link Conditioner to shape the network traffic. -[Download all](https://drive.google.com/open?id=17WsQ3CU0R1072sezXw5Np2knV_NvGAfO) traces (3.2GB zipped, 19GB unzipped). -[Download golden](https://drive.google.com/open?id=1aQp-oqX7jeFq9RFwNik6gkEZ0FLtjlHp) traces (363MB zipped, 2.1GB unzipped). +Each URL is processed one a time: first as unthrottled (but still with mobile UA/viewport emulation) on the Mac, then again right after on an adb-connected mobile device connected to the network via hotspot. Link Conditioner is enabled for the duration of the mobile run. The runs are done back-to-back to avoid potential variance introduced by a site changing its content. + +These traces are used to evaluate changes to the Lantern network and CPU emulation. + +Historical note: we used to collect the mobile traces from WebPageTest, however their API no longer supports real mobile devices. + +## Run -Note: Only 45/80 of the URLs in `./urls.js` have been processed. +First double check the following: -## Get a WPT key +1. Get the latest stable Chrome, both on the Mac and the mobile device +1. Get the latest OS on the mobile device +1. Close all unnecessary applications on the Mac and the mobile device +1. Ensure both devices are connected to power +1. Install and activate Caffeine on the Mac to prevent sleep +1. On the mobile device, disable Auto App Updates in the Google Play Store +1. On the mobile device, forget any present WiFi connection so that a temporary loss in the hotspot does not accidentally fallback to a fast connection -This is how you get a regular key: +Next, setup the hotspot: -http://www.webpagetest.org/getkey.php -> "Login with Google" -> fill form. Key will be emailed to you. +1. On the Mac, connect to a router with a cable. Do not explicitly disable WiFi, as that needs to be on for the next step +1. Start a hotspot on the Mac ("Internet Sharing") and connect via the mobile device. Now, the Mac will be connected to the Internet via the hardlink, and the mobile device will be connected to the Internet via the Mac over local network WiFi. +1. Set the mobile device close to the mac, but not directly on or too near to it or any router as this will result in a poor connection. -But you'll really need a privileged key to run the collection in a reasonable amount of time. +Next, setup the network emulation: -Note: to actually run this, you want a better key than the default. Ask @connorjclark for it. +1. Create an entry "LighthouseCustom", and select it +1. Set the download/upload bandwidth to match our "mobile regular 3G" profile: 700 Kbps +1. Set the delay (for both download/upload) to match our "mobile regular 3G" profile: 300 ms - so give 150ms to each +1. Set the DNS delay and packet loss fields to 0 +1. Due to the roundabout network emulation and the overhead of a hotspot, we need to finetune these parameters. On the mobile device, go to https://speed.measurementlab.net and run a network test. Modify the inputs in Link Conditioner until the test results match the target parameters. After each change, toggle Link Condition Off/On. +1. 1. I found the uplink throttle to have no impact on the reported upload rate, I assume because the hotspot has too much overhead. So I set the upload bandwidth field to 0 for max. +1. 1. If packet loss is greater than 0%, try moving away from noisy interference (don't be near a router or smart appliance) +1. 1. First finetune the latency: it should be near 300ms +1. 1. Now finetune the down/up link bandwidth +1. 1. For me, I got consisent 0.7 kbps and 0.4 kbps for download/upload (the upload wasn't very close to the target but that's fine for our purposes) for these values: Download- 800kbps, 70ms delay; Upload- max kbps, 70ms delay -## Lighthouse Version +Now run the collection script. + +```sh +node --max-old-space-size=4096 collect.js +``` + +Output will be in `dist/collect-lantern-traces`, and zipped at `dist/collect-lantern-traces.zip`. -Check what version of Lighthouse WPT is using. You should use the same version of lighthouse for the desktop collection. +Rename the zip with the current data (ex: `lantern-traces-2019-12-17.zip`) to Google Drive, and update `VERSION` in `download-traces.sh`. + +Finally, upload the zip to the `lh-lantern-data` Cloud storage. ## Verify URLs ```sh node --input-type=module -e "import urls from './urls.js'; console.log(urls.join('\n'))" |\ - xargs -P 10 -I{} curl -A 'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3694.0 Mobile Safari/537.36 Chrome-Lighthouse' -o /dev/null -s --write-out '%{http_code} {} (if redirect: %{redirect_url})\n' {} |\ + xargs -P 10 -I{} curl -A 'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.5672.126 Mobile Safari/537.36 Chrome-Lighthouse' -o /dev/null -s --write-out '%{http_code} {} (if redirect: %{redirect_url})\n' {} |\ sort ``` Note: some good URLs will 4xx b/c the site blocks such usages of `curl`. -## Run - -```sh -DEBUG=1 WPT_KEY=... node --max-old-space-size=4096 collect.js -``` -Output will be in `dist/collect-lantern-traces`, and zipped at `dist/collect-lantern-traces.zip`. +## Historical trace databases -Update the zip on Google Drive and `download-traces.sh`. +### December 2019 -## Run in GCP +There are 9 runs for each URL in the big zip. The golden zip contains just the median runs (by performance score), along with a dump of the `metrics` collected by Lighthouse. This sampling method was dropped for future trace database updates. The mobile traces here came from a Moto G4 via WPT. -```sh -WPT_KEY=... core/scripts/lantern/collect/gcp-create-and-run.sh -``` +[Download all](https://drive.google.com/open?id=17WsQ3CU0R1072sezXw5Np2knV_NvGAfO) traces (3.2GB zipped, 19GB unzipped). +[Download golden](https://drive.google.com/open?id=1aQp-oqX7jeFq9RFwNik6gkEZ0FLtjlHp) traces (363MB zipped, 2.1GB unzipped). diff --git a/core/scripts/lantern/collect/collect.js b/core/scripts/lantern/collect/collect.js index 4f703e09e201..8ca77d1a22f0 100644 --- a/core/scripts/lantern/collect/collect.js +++ b/core/scripts/lantern/collect/collect.js @@ -1,3 +1,5 @@ +// TODO why https://atendimento-eletronico.bancovw.com.br/logon/ get stuck + /** * @license * Copyright 2019 Google LLC @@ -9,24 +11,23 @@ /** @typedef {import('./common.js').Summary} Summary */ import fs from 'fs'; -import {execFile} from 'child_process'; +import {execFile, execFileSync} from 'child_process'; import {promisify} from 'util'; -import fetch from 'node-fetch'; - import defaultTestUrls from './urls.js'; import * as common from './common.js'; import {LH_ROOT} from '../../../../shared/root.js'; import {makeGolden} from './golden.js'; +import * as playwright from 'playwright'; + +import lighthouse from '../../../index.js'; +import puppeteer from 'puppeteer'; + const execFileAsync = promisify(execFile); -const WPT_URL = process.env.WPT_URL || 'https://www.webpagetest.org'; const TEST_URLS = process.env.TEST_URLS ? process.env.TEST_URLS.split(' ') : defaultTestUrls; -const WPT_KEY = process.env.WPT_KEY; -const DEBUG = process.env.DEBUG; - const log = new common.ProgressLogger(); /** @type {Summary} */ @@ -44,127 +45,73 @@ function saveData(filename, data) { /** * @param {string} url - * @return {Promise} - */ -async function fetchString(url) { - const response = await fetch(url); - if (response.ok) return response.text(); - throw new Error(`error fetching ${url}: ${response.status} ${response.statusText}`); -} - -/** - * @param {string} url - */ -async function startWptTest(url) { - if (!WPT_KEY) throw new Error('missing WPT_KEY'); - - const apiUrl = new URL('/runtest.php', WPT_URL); - apiUrl.search = new URLSearchParams({ - k: WPT_KEY, - f: 'json', - url, - location: 'gce-us-east4-linux:Chrome.3GFast', - runs: '1', - lighthouse: '1', - mobile: '1', - // Make the trace file available over /getgzip.php. - lighthouseTrace: '1', - lighthouseScreenshots: '1', - // Disable some things that WPT does, such as a "repeat view" analysis. - type: 'lighthouse', - }).toString(); - const wptResponseJson = await fetchString(apiUrl.href); - const wptResponse = JSON.parse(wptResponseJson); - if (wptResponse.statusCode !== 200) { - throw new Error(`unexpected status code ${wptResponse.statusCode} ${wptResponse.statusText}`); - } - - return { - testId: wptResponse.data.testId, - jsonUrl: wptResponse.data.jsonUrl, - }; -} - -/** - * @param {string} url + * @param {string[]} args * @return {Promise} */ -async function runUnthrottledLocally(url) { +async function runLighthouse(url, args) { const artifactsFolder = `${LH_ROOT}/.tmp/collect-traces-artifacts`; - const {stdout} = await execFileAsync('node', [ + if (fs.existsSync(artifactsFolder)) { + fs.rmSync(artifactsFolder, {recursive: true}); + } + await execFileAsync('node', [ `${LH_ROOT}/cli`, url, - '--throttling-method=provided', - '--output=json', `-AG=${artifactsFolder}`, - process.env.OOPIFS === '1' ? '' : '--chrome-flags=--disable-features=site-per-process', - ], { - // Default (1024 * 1024) is too small. - maxBuffer: 10 * 1024 * 1024, - }); - const lhr = JSON.parse(stdout); - assertLhr(lhr); + ...args, + ]); + const lhrString = fs.readFileSync(`${artifactsFolder}/lhr.report.json`, 'utf-8'); + assertLhr(JSON.parse(lhrString)); const devtoolsLog = fs.readFileSync(`${artifactsFolder}/defaultPass.devtoolslog.json`, 'utf-8'); const trace = fs.readFileSync(`${artifactsFolder}/defaultPass.trace.json`, 'utf-8'); return { devtoolsLog, - lhr: JSON.stringify(lhr), + lhr: lhrString, trace, }; } +function enableLinkConditioner() { + execFileSync('osascript', ['link-conditioner.applescript', 'true', 'LighthouseCustom'], { + cwd: `${LH_ROOT}/core/scripts/lantern/collect`, + }); + return () => { + execFileSync('osascript', ['link-conditioner.applescript', 'false', 'LighthouseCustom'], { + cwd: `${LH_ROOT}/core/scripts/lantern/collect`, + }); + }; +} + /** * @param {string} url * @return {Promise} */ -async function runForWpt(url) { - const {testId, jsonUrl} = await startWptTest(url); - if (DEBUG) log.log({testId, jsonUrl}); - - // Poll for the results every x seconds, where x = position in queue. - let lhr; - // eslint-disable-next-line no-constant-condition - while (true) { - const responseJson = await fetchString(jsonUrl); - const response = JSON.parse(responseJson); - - if (response.statusCode === 200) { - lhr = response.data.lighthouse; - assertLhr(lhr); - break; - } - - if (response.statusCode >= 100 && response.statusCode < 200) { - // If behindCount doesn't exist, the test is currently running. - // * Wait 30 seconds if the test is currently running. - // * Wait an additional 10 seconds for every test ahead of this one. - // * Don't wait for more than 10 minutes. - const secondsToWait = Math.min(30 + 10 * (response.data.behindCount || 0), 10 * 1000); - if (DEBUG) log.log('poll wpt in', secondsToWait); - await new Promise((resolve) => setTimeout(resolve, secondsToWait * 1000)); - } else { - throw new Error(`unexpected response: ${response.statusCode} ${response.statusText}`); - } +async function runThrottledMobileDevice(url) { + execFileSync('adb', 'forward tcp:9222 localabstract:chrome_devtools_remote'.split(' ')); + const disableLinkConditioner = enableLinkConditioner(); + try { + return await runLighthouse(url, [ + '--port=9222', + '--throttling-method=provided', + '--screenEmulation.disabled', + '--throttling.cpuSlowdownMultiplier=1', + ]); + } finally { + disableLinkConditioner(); } +} - const traceUrl = new URL('/getgzip.php', WPT_URL); - traceUrl.searchParams.set('test', testId); - traceUrl.searchParams.set('file', 'lighthouse_trace.json'); - const traceJson = await fetchString(traceUrl.href); - - /** @type {LH.Trace} */ - const trace = JSON.parse(traceJson); - // For some reason, the first trace event is an empty object. - trace.traceEvents = trace.traceEvents.filter(e => Object.keys(e).length > 0); - - return { - lhr: JSON.stringify(lhr), - trace: JSON.stringify(trace), - }; +/** + * @param {string} url + * @return {Promise} + */ +async function runUnthrottledLocalDevice(url) { + return runLighthouse(url, [ + '--throttling-method=provided', + ]); } /** - * Repeats the ascyn function a maximum of maxAttempts times until it passes. + * Repeats the async function a maximum of maxAttempts times until it passes. * @param {() => Promise} asyncFn * @param {number} [maxAttempts] * @return {Promise<{result: Result|null, retries: number, errors: string[]}>} @@ -176,7 +123,7 @@ async function repeatUntilPassOrNull(asyncFn, maxAttempts = 3) { try { return {result: await asyncFn(), retries: i, errors}; } catch (err) { - log.log('Error: ' + err.toString()); + log.log(err.toString()); errors.push(err.toString()); } } @@ -191,13 +138,15 @@ function assertLhr(lhr) { if (!lhr) throw new Error('missing lhr'); if (lhr.runtimeError) throw new Error(`runtime error: ${lhr.runtimeError}`); const metrics = common.getMetrics(lhr); - if (metrics?.firstContentfulPaint && - metrics.firstMeaningfulPaint && - metrics.interactive && - // WPT won't have this, we'll just get from the trace. - // metrics.largestContentfulPaint && - metrics.maxPotentialFID && - metrics.speedIndex + if (metrics && + metrics.cumulativeLayoutShift !== undefined && + metrics.firstContentfulPaint !== undefined && + metrics.firstMeaningfulPaint !== undefined && + metrics.interactive !== undefined && + metrics.largestContentfulPaint !== undefined && + metrics.maxPotentialFID !== undefined && + metrics.speedIndex !== undefined && + metrics.timeToFirstByte !== undefined ) return; throw new Error('run failed to get metrics'); } @@ -212,83 +161,98 @@ async function main() { fs.mkdirSync(common.collectFolder, {recursive: true}); - // Traces are collected for one URL at a time, in series, so all traces are from a small time - // frame, reducing the chance of a site change affecting results. - for (const url of TEST_URLS) { + // Warmup device. + await runThrottledMobileDevice('https://www.example.com'); + + const urlsToTest = TEST_URLS.filter(url => { // This URL has been done on a previous script invocation. Skip it. if (summary.results.find((urlResultSet) => urlResultSet.url === url)) { - log.log(`already collected traces for ${url}`); - continue; + log.log(`already collected for ${url}`); + return false; } - log.log(`collecting traces for ${url}`); + return true; + }); + const skipped = TEST_URLS.length - urlsToTest.length; + if (skipped) { + log.log(`skipping ${skipped} urls that have already been collected`); + } + + const startTime = performance.now(); + + // Traces are collected for one URL at a time, in series, so all traces are from a small time + // frame, reducing the chance of a site change affecting results. + for (const url of urlsToTest) { + log.log(`collecting for ${url}`); const sanitizedUrl = url.replace(/[^a-z0-9]/gi, '-'); - let wptDone = false; - let unthrottledDone = false; + /** @type {Awaited> | null} */ + let unthrottledRun = null; + /** @type {Awaited> | null} */ + let mobileRun = null; // The closure this makes is too convenient to decompose. // eslint-disable-next-line no-inner-declarations function updateProgress() { - const index = TEST_URLS.indexOf(url); + const index = urlsToTest.indexOf(url); + const numTested = index; + const avgPerUrl = (performance.now() - startTime) / index; + const timeLeftMs = avgPerUrl * (urlsToTest.length - numTested); + const timeLeftMinutes = Math.floor(timeLeftMs / 1000 / 1000); + const timeLeft = timeLeftMinutes > 60 + ? `${Math.floor(timeLeftMinutes / 60)} hours` : + `${timeLeftMinutes} minutes`; log.progress([ - `${url} (${index + 1} / ${TEST_URLS.length})`, - 'wpt', - '(' + (wptDone ? 'DONE' : 'pending...') + ')', - 'unthrottledResults', - '(' + (unthrottledDone ? 'DONE' : 'pending...') + ')', + `${url} (${index + 1} / ${urlsToTest.length})`, + 'local', + (unthrottledRun ? (unthrottledRun.result ? '✅' : '❌') : '…'), + 'mobile', + (mobileRun ? (mobileRun.result ? '✅' : '❌') : '…'), + `Time left: ~${timeLeft}`, ].join(' ')); } updateProgress(); - const wptPromise = repeatUntilPassOrNull(() => runForWpt(url)) - .finally(() => { - wptDone = true; - updateProgress(); - }); - const unthrottledPromise = repeatUntilPassOrNull(() => runUnthrottledLocally(url)) - .finally(() => { - unthrottledDone = true; - updateProgress(); - }); - const repeatingResults = await Promise.all([wptPromise, unthrottledPromise]); - const wptResult = repeatingResults[0].result; - const unthrottledResult = repeatingResults[1].result; - if (!wptResult) log.log('failed to get wpt result'); - if (!unthrottledResult) log.log('failed to get unthrottled result'); + mobileRun = await repeatUntilPassOrNull(() => runThrottledMobileDevice(url)); + updateProgress(); + unthrottledRun = await repeatUntilPassOrNull(() => runUnthrottledLocalDevice(url)); + updateProgress(); + if (!unthrottledRun.result) log.log('failed to get unthrottled result'); + if (!mobileRun.result) log.log('failed to get mobile result'); + + const unthrottledResult = unthrottledRun.result; + const wptResult = mobileRun.result; let errors; - if (repeatingResults[0].errors || repeatingResults[1].errors) { - errors = [...repeatingResults[0].errors, ...repeatingResults[1].errors]; + if (unthrottledRun.errors || mobileRun.errors) { + errors = [...unthrottledRun.errors, ...mobileRun.errors]; } - const wptPrefix = `${sanitizedUrl}-mobile-wpt`; - const unthrottledPrefix = `${sanitizedUrl}-mobile-unthrottled`; + const mobilePrefix = `${sanitizedUrl}-mobile-throttled`; + const unthrottledPrefix = `${sanitizedUrl}-desktop-unthrottled`; /** @type {ResultsForUrl} */ const urlResultSet = { url, wpt: wptResult ? { - lhr: saveData(`${wptPrefix}-lhr.json`, wptResult.lhr), - trace: saveData(`${wptPrefix}-trace.json`, wptResult.trace), + devtoolsLog: saveData(`${mobilePrefix}-devtoolsLog.json`, wptResult.devtoolsLog), + lhr: saveData(`${mobilePrefix}-lhr.json`, wptResult.lhr), + trace: saveData(`${mobilePrefix}-trace.json`, wptResult.trace), } : null, - wptRetries: repeatingResults[0].retries, - // Unthrottled runs will always have devtools logs. - unthrottled: unthrottledResult && unthrottledResult.devtoolsLog ? { + wptRetries: mobileRun.retries, + unthrottled: unthrottledResult ? { devtoolsLog: saveData(`${unthrottledPrefix}-devtoolsLog.json`, unthrottledResult.devtoolsLog), lhr: saveData(`${unthrottledPrefix}-lhr.json`, unthrottledResult.lhr), trace: saveData(`${unthrottledPrefix}-trace.json`, unthrottledResult.trace), } : null, - unthrottledRetries: repeatingResults[1].retries, + unthrottledRetries: unthrottledRun.retries, errors, }; log.log(`collected results for ${url}`); summary.results.push(urlResultSet); - if (summary.results.length % 10 === 0) { - log.log('saving progress'); - common.saveSummary(summary); - } + log.log('saving progress'); + common.saveSummary(summary); } log.log('saving progress'); @@ -302,8 +266,38 @@ async function main() { log.closeProgress(); } -try { - await main(); -} finally { - if (log) log.closeProgress(); -} +// try { +// await main(); +// } finally { +// if (log) log.closeProgress(); +// } + +const caps = { + 'browser': 'android', + // 'browser_version': 'latest', + 'os': 'android', + 'os_version': '9.0', + 'build': 'puppeteer-build-1', + 'device' : 'Google Pixel 2', + 'name': 'My first Puppeteer test', + 'browserstack.username': process.env.BROWSERSTACK_USERNAME || 'connorclark_ew2AEp', + 'browserstack.accessKey': process.env.BROWSERSTACK_ACCESS_KEY || 'sHP3NE6YBztjCywDTwER', + // 'browserstack.networkLogs': true, + // 'browserstack.console': 'errors', +}; +const wsUrl = `wss://cdp.browserstack.com/playwright?caps=${encodeURIComponent(JSON.stringify(caps))}`; +// const browser = await playwright.chromium.connect({wsEndpoint: wsUrl}); +console.log({wsUrl}); +const browser = await puppeteer.connect({browserWSEndpoint: wsUrl}); +const page = await browser.newPage(); + + + +console.log('starting...'); +const r = await lighthouse('https://www.example.com', {port: 9223}, undefined, page); +console.log(JSON.stringify(r?.lhr, null, 2)); + + +// const r = await runLighthouse('https://www.example.com', ['--hostname', wsUrl]); + +console.log(r); diff --git a/core/scripts/lantern/collect/common.js b/core/scripts/lantern/collect/common.js index a31961395279..263776c87635 100644 --- a/core/scripts/lantern/collect/common.js +++ b/core/scripts/lantern/collect/common.js @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -/** @typedef {{devtoolsLog?: string, lhr: string, trace: string}} Result */ +/** @typedef {{devtoolsLog: string, lhr: string, trace: string}} Result */ /** @typedef {{url: string, wpt: Result|null, wptRetries: number, unthrottled: Result|null, unthrottledRetries: number, errors?: string[]}} ResultsForUrl */ /** @typedef {Result & {metrics: LH.Artifacts.TimingSummary}} ResultWithMetrics */ /** @typedef {{results: ResultsForUrl[]}} Summary */ diff --git a/core/scripts/lantern/collect/gcp-create-and-run.sh b/core/scripts/lantern/collect/gcp-create-and-run.sh deleted file mode 100755 index be8bc5f1e814..000000000000 --- a/core/scripts/lantern/collect/gcp-create-and-run.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -# This script is assumed to be run from the LH_ROOT directory. - -set -euxo pipefail - -CLOUDSDK_CORE_PROJECT=lighthouse-lantern-collect -ZONE=us-central1-a - -gcloud --project="$CLOUDSDK_CORE_PROJECT" compute instances create lantern-collect-instance \ - --image-family=ubuntu-1804-lts --image-project=ubuntu-os-cloud \ - --zone="$ZONE" \ - --boot-disk-size=100GB \ - --machine-type=n1-standard-2 - -echo "export WPT_KEY=\"$WPT_KEY\"" > .tmp_wpt_key -echo "export WPT_URL=\"$WPT_URL\"" >> .tmp_wpt_key -# Instance needs time to start up. -until gcloud --project="$CLOUDSDK_CORE_PROJECT" compute scp ./.tmp_wpt_key lantern-collect-instance:/tmp/wpt-key --zone="$ZONE" -do - echo "Waiting for start up ..." - sleep 10 -done -rm .tmp_wpt_key - -gcloud --project="$CLOUDSDK_CORE_PROJECT" compute scp ./core/scripts/lantern/collect/gcp-setup.sh lantern-collect-instance:/tmp/gcp-setup.sh --zone="$ZONE" -gcloud --project="$CLOUDSDK_CORE_PROJECT" compute scp ./core/scripts/lantern/collect/gcp-run.sh lantern-collect-instance:/tmp/gcp-run.sh --zone="$ZONE" -gcloud --project="$CLOUDSDK_CORE_PROJECT" compute ssh lantern-collect-instance --command="bash /tmp/gcp-setup.sh" --zone="$ZONE" -gcloud --project="$CLOUDSDK_CORE_PROJECT" compute ssh lighthouse@lantern-collect-instance --command="sh -c 'nohup /home/lighthouse/gcp-run.sh > /home/lighthouse/collect.log 2>&1 < /dev/null &'" --zone="$ZONE" - -set +x - -echo "Collection has started." -echo "Check-in on progress anytime by running..." -echo " $ gcloud --project="$CLOUDSDK_CORE_PROJECT" compute ssh lighthouse@lantern-collect-instance --command='tail -f collect.log' --zone=$ZONE" - -echo "When complete run..." -echo " $ gcloud --project="$CLOUDSDK_CORE_PROJECT" compute scp lantern-collect-instance:/home/lighthouse/src/lighthouse/dist/collect-lantern-traces.zip ./collect-lantern-traces.zip" -echo " $ gcloud --project="$CLOUDSDK_CORE_PROJECT" compute scp lantern-collect-instance:/home/lighthouse/src/lighthouse/dist/golden-lantern-traces.zip ./golden-lantern-traces.zip" -echo " $ gcloud --project="$CLOUDSDK_CORE_PROJECT" compute instances delete lantern-collect-instance" diff --git a/core/scripts/lantern/collect/gcp-run.sh b/core/scripts/lantern/collect/gcp-run.sh deleted file mode 100644 index be69c1f1b415..000000000000 --- a/core/scripts/lantern/collect/gcp-run.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash - -set -euxo pipefail - -whoami -export HOME="/home/lighthouse" - -cd /home/lighthouse -mkdir -p ./src -cd ./src - -if [[ ! -d ./lighthouse ]]; then - git clone https://github.com/GoogleChrome/lighthouse.git -fi - -cd ./lighthouse - -git fetch origin -git checkout -f origin/main -yarn install -yarn build-report - -# Import WPT_KEY vars -source /home/lighthouse/.env - -# Run the collection -DEBUG=1 xvfb-run node --max-old-space-size=4096 ./core/scripts/lantern/collect/collect.js - -# Create golden -DEBUG=1 node --max-old-space-size=4096 ./core/scripts/lantern/collect/golden.js - -# Kill xvfb -kill $! diff --git a/core/scripts/lantern/collect/golden.js b/core/scripts/lantern/collect/golden.js index 27548a40a539..ef01f2683443 100644 --- a/core/scripts/lantern/collect/golden.js +++ b/core/scripts/lantern/collect/golden.js @@ -35,21 +35,21 @@ function makeGolden(log, summary) { if (!unthrottled.devtoolsLog) throw new Error(`missing devtoolsLog for ${url}`); log.progress(`getting metrics ${Number(index) + 1} / ${summary.results.length}`); - const wptMetrics = common.getMetrics(loadLhr(wpt.lhr)); - if (!wptMetrics) { - throw new Error('expected wptMetrics'); + const mobileMetrics = common.getMetrics(loadLhr(wpt.lhr)); + if (!mobileMetrics) { + throw new Error('expected mobileMetrics'); } goldenSites.push({ url, wpt3g: { - firstContentfulPaint: wptMetrics.firstContentfulPaint, - firstMeaningfulPaint: wptMetrics.firstMeaningfulPaint, - timeToConsistentlyInteractive: wptMetrics.interactive, - speedIndex: wptMetrics.speedIndex, - largestContentfulPaint: wptMetrics.largestContentfulPaint, - timeToFirstByte: wptMetrics.timeToFirstByte, - lcpLoadStart: wptMetrics.lcpLoadStart, - lcpLoadEnd: wptMetrics.lcpLoadEnd, + firstContentfulPaint: mobileMetrics.firstContentfulPaint, + firstMeaningfulPaint: mobileMetrics.firstMeaningfulPaint, + timeToConsistentlyInteractive: mobileMetrics.interactive, + speedIndex: mobileMetrics.speedIndex, + largestContentfulPaint: mobileMetrics.largestContentfulPaint, + timeToFirstByte: mobileMetrics.timeToFirstByte, + lcpLoadStart: mobileMetrics.lcpLoadStart, + lcpLoadEnd: mobileMetrics.lcpLoadEnd, }, unthrottled: { tracePath: unthrottled.trace, diff --git a/core/scripts/lantern/collect/link-conditioner.applescript b/core/scripts/lantern/collect/link-conditioner.applescript new file mode 100644 index 000000000000..d5215a731f86 --- /dev/null +++ b/core/scripts/lantern/collect/link-conditioner.applescript @@ -0,0 +1,54 @@ +-- Note: this works on my personal mac (Intel, still on Montery), but not on my work mac (M1, on Ventura). +-- For Ventura: change "System Preferences" to "System Settings". And figure out why `click button "ON"` fails. + +on run argv + set {should_enable, mode} to {item 1, item 2} of argv + + tell application "System Preferences" + activate + delay 0.1 + set current pane to pane id "com.apple.Network-Link-Conditioner" + end tell + + set FinalString to "" + set CurrString to "" + + tell application "System Events" + tell application process "System Preferences" + + set num_windows to count windows + repeat until (num_windows > 0) + set num_windows to count windows + set CurrString to "num_windows: " & num_windows + set FinalString to FinalString & CurrString & "\n" + delay 0.1 + end repeat + + tell window "Network Link Conditioner" + -- Buttons have no names on Ventura...? + -- repeat with b in (get buttons) + -- set CurrString to "btn: " & (name of b) + -- set FinalString to FinalString & CurrString & "\n" + -- end repeat + + -- Note: the "Accessibility Inspector" app is great for identifiying UI element names, but + -- in this case it is obvious. + if (should_enable = "true") + tell group 1 + click pop up button 1 + click menu item mode of menu 1 of pop up button 1 + end tell + click button "ON" + else + click button "OFF" + end if + + end tell + + end tell + end tell + + -- Uncomment for debugging. + -- copy FinalString to stdout +end run + diff --git a/core/scripts/lantern/collect/urls.js b/core/scripts/lantern/collect/urls.js index b6950df3faa3..faac13966eb9 100644 --- a/core/scripts/lantern/collect/urls.js +++ b/core/scripts/lantern/collect/urls.js @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -export default [ +const urlsLegacy = [ // Flagship sites. 'https://www.espn.com/', 'https://www.flipkart.com', @@ -95,3 +95,1033 @@ export default [ 'https://stripe.com/docs', 'https://www.codewars.com', ].sort(); + +// Query for these urls: +/* +CREATE TEMP TABLE temp_urls ( + rank INT64, + url STRING +); +INSERT INTO temp_urls +SELECT * FROM `httparchive.urls.latest_crux_mobile` ORDER BY rank ASC; + +-- 200 random urls from top 10000000 +( +(SELECT url FROM (SELECT * FROM temp_urls LIMIT 10000000) ORDER BY RAND() LIMIT 200) +UNION DISTINCT +-- 200 random urls from top 1000000 +(SELECT url FROM (SELECT * FROM temp_urls LIMIT 1000000) ORDER BY RAND() LIMIT 200) +UNION DISTINCT +-- 200 random urls from top 100000 +(SELECT url FROM (SELECT * FROM temp_urls LIMIT 100000) ORDER BY RAND() LIMIT 200) +UNION DISTINCT +-- 200 random urls from top 10000 +(SELECT url FROM (SELECT * FROM temp_urls LIMIT 10000) ORDER BY RAND() LIMIT 200) +UNION DISTINCT +-- 200 random urls from top 1000 +(SELECT url FROM (SELECT * FROM temp_urls LIMIT 1000) ORDER BY RAND() LIMIT 200) +) +*/ +// Note: this is a random sampling of the World Wide Web, so expect lots of NSFW content. +const urls2023 = [ + 'http://2011hana-animals.blogspot.com/', + 'http://a2ascholarships.iccr.gov.in/', + // 'http://autolote.transauto.com.sv/', + 'http://blog.darom.com.br/', + 'http://blove.jp/', + 'http://buckeyebroadband.speedtestcustom.com/', + 'http://christinastrologynow.com/', + 'http://cis5rs.com.br/', + 'http://citymirrornews.com/', + 'http://convertidoscatolicos.blogspot.com/', + 'http://doctorpsy.com.ua/', + 'http://dvorets-tomsk.ru/', + 'http://epaper.andolana.in/', + 'http://exponatial.blogspot.com/', + 'http://famaconsa.com/', + 'http://g-salam-arbitrajnikam-w53.fun/', + 'http://hakimemehr.ir/', + 'http://hospicehaz.hu/', + 'http://kirsehir.tsf.org.tr/', + 'http://kottayamcheriapally.com/', + 'http://laguiaurbana.com.ar/', + 'http://lisans.cozum.info.tr/', + 'http://lms4.cfu.ac.ir/', + 'http://m.dongsung.org/', + 'http://mamacitatube.com/', + 'http://maoyingku2.me/', + 'http://metaplatform.biz/', + 'http://microscopiaserver.microscopia.ufmg.br/', + 'http://mokhtaralbukhary.blogspot.com/', + 'http://msdsolution.in/', + 'http://ntwin88.com/', + 'http://pagerankcafe.com/', + 'http://pwa.shipin.ir/', + 'http://restauranteazul.menusqr.info/', + 'http://rezervacija.studijaom.lt/', + 'http://rubistar.4teachers.org/', + 'http://sedim.dyndns.org/', + 'http://sodemar.net/', + 'http://souvenirchronicles.blogspot.com/', + 'http://spoped.isil.obr55.ru/', + 'http://takeno.iee.niit.ac.jp/', + 'http://talesgubes.com/', + 'http://tarjomehrooz.com/', + 'http://tohin.ac.jp/', + 'http://tramites.semaqroo.gob.mx/', + 'http://www.6hbd.me/', + 'http://www.71935.net/', + 'http://www.ambrosiasuitesathens.com/', + 'http://www.athletics.kusu.kyoto-u.ac.jp/', + 'http://www.beatlesvinyl.com/', + 'http://www.cmkosemen.com/', + 'http://www.comune.lavagna.ge.it/', + 'http://www.dariuszowczarek.com/', + 'http://www.dive-exuma.com/', + 'http://www.eccellenzacalcio.it/', + 'http://www.espis.de/', + 'http://www.event-ak.com/', + 'http://www.helioziskind.com.br/', + 'http://www.homoeopathieinformation.at/', + 'http://www.kjaf.org/', + 'http://www.klikk.tv/', + 'http://www.lucchetta-abbigliamento.com/', + 'http://www.nankingchinesecuisine.com/', + 'http://www.revue-silene.com/', + 'http://www.salone2007.com/', + 'http://www.scooter-dele.dk/', + 'http://www.slist.kr/', + 'http://www.superlinda.com/', + 'http://www.tienganh.com.vn/', + 'http://www.turkhukuksitesi.com/', + 'http://www.turkoglugundem.com/', + 'http://www.us1autoparts.com/', + 'http://www.varillerosacabollos.com/', + 'http://www.yayasanponpes-abumanshur.com/', + 'http://www.yline-w.com/', + 'http://xn--19-glc1ck.xn--p1ai/', + 'http://yu-fong.nl/', + 'https://19032.mitemin.net/', + 'https://1news.az/', + 'https://247trk.com/', + 'https://4analytics.ru/', + 'https://78novel.com/', + 'https://7ball.plus/', + 'https://account.netflixstudios.com/', + 'https://accuracyplus.biz/', + 'https://acolap.org.co/', + 'https://acousticgeometry.com/', + 'https://adhduk.co.uk/', + 'https://adherer.solidairesfinancespubliques.org/', + 'https://adultwebtoon.com/', + 'https://agrotens.com/', + 'https://aladin54260.skyrock.mobi/', + 'https://alumno.examentrafico.com/', + 'https://anapa-lazurnyy.ru/', + 'https://ancientolympicsmuseum.com/', + 'https://anhnguisa.edu.vn/', + 'https://ap3.shu.edu.tw/', + 'https://aplicacao.mpmg.mp.br/', + 'https://app.cloutly.com/', + 'https://app.pptdrive.xyz/', + 'https://app.radprimer.com/', + 'https://apps.mypurecloud.ie/', + 'https://arby-youm.com/', + 'https://archerechner.graltek.net/', + 'https://arizona.pmpaware.net/', + 'https://arqrio.org.br/', + 'https://artbymaudsch.com/', + 'https://artofthelie.org/', + 'https://artsycraftsymom.com/', + 'https://asdb.az.gov/', + 'https://asosyalsozluk.com/', + 'https://asufc.sanita.fvg.it/', + 'https://atendimento-eletronico.bancovw.com.br/', + 'https://atlas-vpn.fr.softonic.com/', + 'https://audition.nerim.info/', + 'https://autoatlet.ru/', + 'https://autoliquidationcenterinc.com/', + 'https://autoshokrollahi.com/', + 'https://avis2.avis-verifies.com/', + 'https://ayuda.jazztel.com/', + 'https://b2b.marvel.ru/', + 'https://babudo.hu/', + 'https://bads.es/', + 'https://banner.udayton.edu/', + 'https://beatrizalbernaz.com.br/', + 'https://berzazatovari.cargoagent.net/', + 'https://beta.icloud.com/', + 'https://billetterie-egouts.paris.fr/', + 'https://binary-option.tv/', + 'https://bip.ugczluchow.pl/', + 'https://blnjobs.com/', + 'https://blog.abcserviciosfinancieros.cl/', + 'https://bodegadelsabor.ch/', + 'https://bohovibes.cz/', + 'https://boomerangcoffee.co/', + 'https://boor.de/', + 'https://box.regione.campania.it/', + 'https://brdshrms.bihar.gov.in/', + 'https://browser.combase.cc/', + 'https://bsd.sos.in.gov/', + 'https://bspib.bsp.com.pg/', + 'https://bts-2020.blogspot.com/', + 'https://bukumitra.bukalapak.com/', + 'https://buyurindir.org/', + 'https://ca.gatoheroi.com/', + 'https://campagnesartois.fr/', + 'https://canovaonline.com/', + 'https://carbanicrasayan.co.in/', + 'https://careers.sunpharma.com/', + 'https://caricuanid99.com/', + 'https://carmount.com/', + 'https://carsmile.pl/', + 'https://casamia.az/', + 'https://castingroad.jp/', + 'https://catalog.freelibrary.org/', + 'https://catalogue.vassar.edu/', + 'https://cavapoolove.com/', + 'https://cgr.qoldau.kz/', + 'https://chaishai.ae/', + 'https://champine.ru/', + 'https://checkout.apps.havan.com.br/', + 'https://chriskim.umn.edu/', + 'https://chs-toys.ru/', + 'https://ciencias-naturales-para-septimo.webnode.es/', + 'https://cikabet6.top/', + 'https://cineciudad.com/', + 'https://cl.all.biz/', + 'https://cocinamuyfacil.com/', + 'https://codingcirculate.com/', + 'https://colis-perdus.com/', + 'https://collectionworld.net/', + 'https://comenzi.farmaciatei.ro/', + 'https://comunitaqueeniana.weebly.com/', + 'https://consociatehealth.com/', + 'https://consultarinss.com.br/', + 'https://core.xjtlu.edu.cn/', + 'https://cornell.zoom.us/', + 'https://correoweb.guardiacivil.es/', + 'https://cosmoslot.live/', + 'https://costa-kyoto.jp/', + 'https://cp.hirokoku-u.ac.jp/', + 'https://cubaheute.de/', + 'https://current.cornerstone.ac.za/', + 'https://customerservice.starbucks.com/', + 'https://cutiipostalebloc.ro/', + 'https://d2r-reimagined.com/', + 'https://damba.uinsgd.ac.id/', + 'https://daotaokythuat.com/', + 'https://darazproduct12.blogspot.com/', + 'https://darbiniairubai.lt/', + 'https://dashboard.rss.com/', + 'https://dermskincancercenter.com/', + 'https://deti-diagroup.ru/', + 'https://dgrrhh.scsalud.es/', + 'https://dichvucong.gov.vn/', + 'https://digiworld4u.in/', + 'https://dilink.net/', + 'https://direct.money.pl/', + 'https://diveshop-sunrise.com/', + 'https://dlainformatyka.blogspot.com/', + 'https://dms.dilg.gov.ph/', + 'https://dofbasen.dk/', + 'https://dollaruz.net/', + 'https://drawpi.co/', + 'https://drivers.ttgi.com/', + 'https://drjoedispenza.online/', + 'https://drmermaid.com.tw/', + 'https://dvdowow.wordpress.com/', + 'https://e-kassa.com/', + 'https://ecoloboys.wordpress.com/', + 'https://ecourts.kerala.gov.in/', + 'https://edepet.skin/', + 'https://edu.rossiya-airlines.com/', + 'https://egame55.live/', + 'https://egriz.com/', + 'https://ehonkan.co.jp/', + 'https://eikichiyazawa.com/', + 'https://eleinternacional.com/', + 'https://elwaypslincoln.com/', + 'https://embudasartes.obaratec.com.br/', + 'https://en.bijouxburma.com/', + 'https://en.pravdanaroda.info/', + 'https://enperspectiva.uy/', + 'https://enterslots.xyz/', + 'https://eqtani.com/', + 'https://ergobaby.com/', + 'https://eridan-n.com/', + 'https://es.vukki.net/', + 'https://es.wikiloc.com/', + 'https://eservices.muranga.go.ke/', + 'https://esm.footeo.com/', + 'https://esm.unique.edu.pk/', + 'https://esreva.com/', + 'https://etimesheets-plus-tempus-pa.bluebedrock.com/', + 'https://europefreechat.com/', + 'https://events.oxygenforensics.com/', + 'https://exams.tnschools.gov.in/', + 'https://exchanging.app/', + 'https://explore.amcollege.edu/', + 'https://ext-isztar4.mf.gov.pl/', + 'https://fa.zrelie.xyz/', + 'https://facegroups.org/', + 'https://faponic.com/', + 'https://fazilet-takvimi.indir.com/', + 'https://fb.kintoneapp.com/', + 'https://feetpics.com/', + 'https://figbid.com/', + 'https://fightmusicshow.com.br/', + 'https://fin-calc.org.ua/', + 'https://fivepointsbottleshop.com/', + 'https://flask.palletsprojects.com/', + 'https://flirtymeetings.com/', + 'https://flood-it.app/', + 'https://folhacerta.com/', + 'https://fontedevidaonline.com.br/', + 'https://forest-stay-focused.ar.uptodown.com/', + 'https://forum.foerdergruppe-cc.de/', + 'https://forum.ww2.ru/', + 'https://freekidsbooks.org/', + 'https://fridasbakblogg.se/', + 'https://ftede.fbserwiskonkurs.pl/', + 'https://funfal.ir/', + 'https://fungushacks.com/', + 'https://fvbradenton.com/', + 'https://gam98.ir/', + 'https://gamesandmovies.it/', + 'https://gateway.bacb.com/', + 'https://ggwp.id/', + 'https://gogobest.com/', + 'https://goldenantilopa.ru/', + 'https://goldentime.lk/', + 'https://gopurebeauty.com/', + 'https://gotesdesort.com/', + 'https://gradinamax.com.ua/', + 'https://granmanie.co.jp/', + 'https://greatdaysoutdoors.com/', + 'https://gtplsaathi.com/', + 'https://hameefun.jp/', + 'https://harcourtoutlinesstore.com/', + 'https://hardwaremarket.net/', + 'https://hdmblog39.com/', + 'https://healthsolutionmd.com/', + 'https://heeporn.com/', + 'https://hentaisun.com/', + 'https://heydays.thejunemotel.com/', + 'https://hitelforum.hu/', + 'https://holynameschoolomaha.org/', + 'https://holyslot777.com/', + 'https://homepornotube.com/', + 'https://horareceita.com/', + 'https://hospital.qmap.tw/', + 'https://hospital.vallhebron.com/', + 'https://hris.behdasht.gov.ir/', + 'https://hrms.cmpdi.co.in/', + 'https://hu.economy-pedia.com/', + 'https://hvac-talk.com/', + 'https://ib.bakai.kg/', + 'https://ib3.org/', + 'https://ibagy.com.br/', + 'https://ibrahimkhattab.com/', + 'https://ideetexte.ouest-france.fr/', + 'https://idwarta.com/', + 'https://incels.wiki/', + 'https://incometaxindia.gov.in/', + 'https://inglessinbarreras.site/', + 'https://inmatesales.com/', + 'https://inskru.com/', + 'https://instore.bnn.in.th/', + 'https://ippk.pl/', + 'https://istana-pot-zahra.business.site/', + 'https://itidirect.co.uk/', + 'https://japking.com/', + 'https://jaroslaw.pilkalokalna.pl/', + 'https://javdb40.com/', + 'https://jedzismakuj.blogspot.com/', + 'https://jems.pl/', + 'https://jerkdolls.com/', + 'https://jim0384.blog.jp/', + 'https://jna.ifmt.edu.br/', + 'https://jobs.socialsamosa.com/', + 'https://jonet.com.ng/', + 'https://jpandersonwell.com/', + 'https://jualbaterikereta.com/', + 'https://justanotherdayinfreddy.fandom.com/', + 'https://kalibre.com.tr/', + 'https://kaliningrad.moskeram.ru/', + 'https://kcmusa.org/', + 'https://kenshin.happylth.com/', + 'https://khatesalamat.ir/', + 'https://kijiko-catfood.com/', + 'https://kilometrosquecuentan.goodyear.eu/', + 'https://kimisomu-anime.com/', + 'https://kipptexas.org/', + 'https://kitmp3.live/', + 'https://kn-swim-lab.net/', + 'https://knoblauch.ch/', + 'https://koerbchen.app/', + 'https://komaoumaru.com/', + 'https://kultalt.com/', + 'https://kurashitofuwatto.com/', + 'https://kw-service.net/', + 'https://lanuestrafm.com/', + 'https://latin-mcgraw.com/', + 'https://lattice.com/', + 'https://lavilag2gbi7852.weebly.com/', + 'https://leclub-co.jp/', + 'https://legendyfutbolu.com/', + 'https://legislacao.fazenda.sp.gov.br/', + 'https://leopoldina.sp.senai.br/', + 'https://lepmetsnoges.eu/', + 'https://lezzetlirobottarifleri.com/', + 'https://libking.ru/', + 'https://linkslot-gta777.com/', + 'https://lms.petra.academy/', + 'https://lncglobal.vn/', + 'https://locator.lt/', + 'https://loginmasukollo.com/', + 'https://lor-clinic74.ru/', + 'https://lsro.eu/', + 'https://luespa.men-es.jp/', + 'https://luis-valle.com/', + 'https://lya2.com/', + 'https://m.01math.com/', + 'https://m.auction1.co.kr/', + 'https://m.nicephotos.com.br/', + 'https://m.paradise.co.kr/', + 'https://m.pl.aliexpress.com/', + 'https://m.seekmeetdate.com/', + 'https://m.yiyeting.com/', + 'https://main.okk24.com/', + 'https://mallupsell.cc/', + 'https://mangabtt.com/', + 'https://mangledmaw.itch.io/', + 'https://manhwatube.com/', + 'https://mapleviewanimalhospital.net/', + 'https://marafet-home.com.ua/', + 'https://matching.dykancoin.io/', + 'https://mauricicot.com/', + 'https://mbong.kr/', + 'https://mdsportsrawdon.com/', + 'https://members.avicenna.org/', + 'https://members.cascadespringscredit.com/', + 'https://mhomevietnam.vn/', + 'https://migsplash.humc.co/', + 'https://mijn.bsl.nl/', + 'https://minami-kara-kita-madede.tokyo/', + 'https://minecraft-italia.net/', + 'https://mirinoi.by/', + 'https://mktula-ru.turbopages.org/', + 'https://mnlp.cc/', + 'https://mobile.edp009.com/', + 'https://mobilevids.org/', + 'https://modestmolly.com/', + 'https://mon-ent.univ-perp.fr/', + 'https://monarkuni.ac.in/', + 'https://moodle.catedu.es/', + 'https://moodle.psl.eu/', + 'https://motorrad-und-touren.ch/', + 'https://moxiepropertiesllc.propertyware.com/', + 'https://musicboats.com/', + 'https://my.crb-dnr.ru/', + 'https://my.domesticfutures.com/', + 'https://mycompass.ph/', + 'https://myherbals.lk/', + 'https://myhomestore.com.br/', + 'https://myid.bakerhughes.com/', + 'https://mylearea.com/', + 'https://mypage.ponparemall.com/', + 'https://mywater.veolia.us/', + 'https://nationalhomebuild.com/', + 'https://nc.allpages.com/', + 'https://newhorizonsmusic.org/', + 'https://nice-books.ru/', + 'https://nidosreceptai.lt/', + 'https://norhouse.yogo.dk/', + 'https://northcoastcourier.co.za/', + 'https://noun.zoom.us/', + 'https://npalstudent.np.edu.sg/', + 'https://nrdoors.com/', + 'https://nrw.hinweisportal.de/', + 'https://oacar.chailease.com/', + 'https://oddigo.site/', + 'https://offersgames.com/', + 'https://ogawagenki.com/', + 'https://okumikawa-f.com/', + 'https://omakasesushizakopane.pl/', + 'https://onahodouga.com/', + 'https://ondelanceyplace.com/', + 'https://one2gethertravel.nl/', + 'https://online177.net/', + 'https://openspa.com.ar/', + 'https://operette-bremgarten.ch/', + 'https://paidlikes.de/', + 'https://paintballamarante.pt/', + 'https://palumavariedades.com/', + 'https://patricia-torff.de/', + 'https://pay-p1.com/', + 'https://paybiz.biz/', + 'https://paydayonesource.myisolved.com/', + 'https://pedangnaga.info/', + 'https://personal.diagrama.org/', + 'https://phapduyen.com/', + 'https://phimonline247.com/', + 'https://phimsexhd69.info/', + 'https://phimsexnew.info/', + 'https://pizza-de-luxe.fr/', + 'https://pizzeria-twojesmaki.pl/', + 'https://pjc0pq.cn/', + 'https://pl.hinative.com/', + 'https://pl.omio.com/', + 'https://plugo.co/', + 'https://polarisdealers.auth0.com/', + 'https://pompejanska.rosemaria.pl/', + 'https://pornoonline.click/', + 'https://pornototale.com/', + 'https://pornotv.mobi/', + 'https://portal.arryved.com/', + 'https://portal.curn.edu.co/', + 'https://portal.italac.com.br/', + 'https://portaldiariodonorte.com.br/', + 'https://posit.cloud/', + 'https://pravo.by/', + 'https://priceoye.pk/', + 'https://print24.com/', + 'https://prn9792d514.xyediamp.guru/', + 'https://promo.ultima.school/', + 'https://promobroshura.com/', + 'https://protocol.chaldal.com/', + 'https://pvt1084286.xyediamp.live/', + 'https://pvt788078.xyediamp.live/', + 'https://racetrack.top/', + 'https://ramid.ccsf.edu/', + 'https://rapid-imports.com/', + 'https://rasanmart.com/', + 'https://rblive.de/', + 'https://rc.aurorahousing.org/', + 'https://reflect-skincare.dk/', + 'https://reittiopas.tampere.fi/', + 'https://rendeljkinait.hu/', + 'https://repositorio.cgu.gov.br/', + 'https://restaurantcapricciosa.ro/', + 'https://revistamedicasinergia.com/', + 'https://rezo30.wordpress.com/', + 'https://riders.repartosya.com.ar/', + 'https://rl.talis.com/', + 'https://rock92.com/', + 'https://rongbachkim888.net/', + 'https://rosecherieparis.com/', + 'https://rtmantv.com/', + 'https://rub1.ru/', + 'https://ruleporn.com/', + 'https://sadirac.carteplus.fr/', + 'https://sagar.campuscare.cloud/', + 'https://sagevalleyseniorliving.com/', + 'https://sakmimmi.fanbox.cc/', + 'https://samapay.sy/', + 'https://samodelkin.kz/', + 'https://sandhultsbostader.se/', + 'https://sarmada.baynyadaik.com/', + 'https://saskatoonblades.com/', + 'https://secondbaptistlv.org/', + 'https://seecolombia.travel/', + 'https://senseitechnology.co.ke/', + 'https://sergeymukhin.com/', + 'https://shkolatur.ru/', + 'https://shop.petrsoukup.cz/', + 'https://sic.pt/', + 'https://signin.zm.gov.lv/', + 'https://silvergoldbull.com/', + 'https://simak.bkd.lumajangkab.go.id/', + 'https://simpeg.tebingtinggikota.go.id/', + 'https://sinar.syok.my/', + 'https://sjsu.campusesp.com/', + 'https://skatteverket.varbi.com/', + 'https://skolportal.uppsala.se/', + 'https://soin-amalthee.fr/', + 'https://solarpowerenergy.com.br/', + 'https://songha.ir/', + 'https://sotc.langson.gov.vn/', + 'https://sparxmaths.com/', + 'https://spinixc4.io/', + 'https://spirit.rikkyo.ac.jp/', + 'https://spooners-turf.co.uk/', + 'https://spousewiki.com/', + 'https://starbucks.pissedconsumer.com/', + 'https://starfox360.com/', + 'https://starpets.gg/', + 'https://statname.net/', + 'https://stonehengejewel.com/', + 'https://storchencam-freden.de/', + 'https://store.gizmodo.com/', + 'https://stylashbrowbar.ca/', + 'https://sumahoke.jp/', + 'https://sumai-value.jp/', + 'https://superliga.dk/', + 'https://suscripcion.cronista.com/', + 'https://svvs.shop/', + 'https://swclub-7sky.ru/', + 'https://szkolapolska.is/', + 'https://tatodesk.com/', + 'https://tebeeslamimarkazi.com/', + 'https://tehnorent.rs/', + 'https://teikibarai.smbc-card.com/', + 'https://teleservices.valdemarne.fr/', + 'https://temirtau.spravker.ru/', + 'https://thedoctorsbushlandbeach.com.au/', + 'https://theheartthrills.com/', + 'https://thehokepoke.ca/', + 'https://themancavehaircuts.bookedby.com/', + 'https://thongcongnghetbinhminh.com/', + 'https://thsconsulting.in/', + 'https://ticbus.com/', + 'https://tidalwave.frontgatetickets.com/', + 'https://tiger-rus.ru/', + 'https://tiradsono.com/', + 'https://todomonteria.com/', + 'https://toeic-testpro.com/', + 'https://tommychongshemp.com/', + 'https://tontonmania123.com/', + 'https://top.social/', + 'https://toplearn.com/', + 'https://topling61.ru/', + 'https://totoselera.com/', + 'https://transenpornos.biz/', + 'https://transportadora-de-valores-atlas.sherlockhr.computrabajo.com/', + 'https://trymoin.de/', + 'https://tslm.cgg.gov.in/', + 'https://tsundora.com/', + 'https://tubesex4k.net/', + 'https://tun.telcell.am/', + 'https://tunuyan.gov.ar/', + 'https://uah.blackboard.com/', + 'https://ucf.campuslabs.com/', + 'https://uchitel.club/', + 'https://uconnect.unitedtexas.com/', + 'https://udannews.in/', + 'https://ufiswebrostering.alitalia.it/', + 'https://unibet77.com/', + 'https://unidue.moveon4.de/', + 'https://unio11sl.com/', + 'https://us17.proxysite.com/', + 'https://usedfurnitures.in/', + 'https://uzem.kavram.edu.tr/', + 'https://vagburg.ru/', + 'https://valbl.net/', + 'https://vapers-desechables.es/', + 'https://vaporessobrasil.com/', + 'https://venera-salon.com.ua/', + 'https://versysclinics.com/', + 'https://vh-transport.de/', + 'https://vibra.co/', + 'https://videlporno.com/', + 'https://videos.cvmtv.com/', + 'https://vidmate.ru.uptodown.com/', + 'https://virginiatech.sportswar.com/', + 'https://vividiccare.com/', + 'https://vizitka.com/', + 'https://volynova-cake.ru/', + 'https://vritme.net/', + 'https://vrticnet.bhcentar.ba/', + 'https://vv.mp3juice.blog/', + 'https://w1.prometric-jp.com/', + 'https://wakanda303.pro/', + 'https://warriorpoetsupplyco.com/', + 'https://wasender.com/', + 'https://watch.idblog.eu.org/', + 'https://wcs.agu.ac.jp/', + 'https://weareideastudios.com/', + 'https://wearejolies.com/', + 'https://webcat.unh.edu/', + 'https://webmail.securemx.jp/', + 'https://weldingworldinc.com/', + 'https://wheelfin.co.za/', + 'https://who-co.zohorecruit.com/', + 'https://wildmintcosmetics.com/', + 'https://win.ma/', + 'https://wochenblatt.cc/', + 'https://workingabroad.daijob.com/', + 'https://works.doklad.ru/', + 'https://www.777pg.com/', + 'https://www.77hudsoncondo.com/', + 'https://www.a-p-p.tw/', + 'https://www.aapg.org/', + 'https://www.abekatu.co.jp/', + 'https://www.accountingfoundation.org/', + 'https://www.actieflerenlezen.nl/', + 'https://www.actualratings.com/', + 'https://www.akribosxxiv.com/', + 'https://www.alodoctor.ro/', + 'https://www.alot5.ch/', + 'https://www.alytaussaltinelis.lt/', + 'https://www.ambankgroup.com/', + 'https://www.ansell.com/', + 'https://www.apkcrack.net/', + 'https://www.arag.es/', + 'https://www.aramark.com.ar/', + 'https://www.asia4arabs.co/', + 'https://www.asics.com/', + 'https://www.atelierultau.ro/', + 'https://www.autocom.mx/', + 'https://www.autopriwos.ru/', + 'https://www.ayushakti.com/', + 'https://www.b-unique.co.il/', + 'https://www.banana-nails.com/', + 'https://www.bandenleader.be/', + 'https://www.bankmitrabc.co.in/', + 'https://www.baps.store/', + 'https://www.barnaloppan.is/', + 'https://www.basketball-zine.com/', + 'https://www.bauerfeind.de/', + 'https://www.baydoner.com/', + 'https://www.bbcgoodfoodme.com/', + 'https://www.beflexx.com/', + 'https://www.bellavou.co.uk/', + 'https://www.bentleyofgreenwich.com/', + 'https://www.bewegenzonderpijn.com/', + 'https://www.bglen.net/', + 'https://www.bigotires.com/', + 'https://www.blasenhus.uu.se/', + 'https://www.blivewurld.com/', + 'https://www.bluearuba.com/', + 'https://www.bluestallionbrewing.com/', + 'https://www.bonprix.fr/', + 'https://www.boryslawice.com/', + 'https://www.botanical-online.com/', + 'https://www.bpcf.or.kr/', + 'https://www.brkovi.com/', + 'https://www.buddssubaru.com/', + 'https://www.bumblebingo.com/', + 'https://www.cakecraftcompany.com/', + 'https://www.cassaedilesavona.com/', + 'https://www.central-garagewirz.ch/', + 'https://www.centrebelair.fr/', + 'https://www.cerave.de/', + 'https://www.chatlinefling.com/', + 'https://www.cheekofit.co.uk/', + 'https://www.clinique.com.au/', + 'https://www.cm-coruche.pt/', + 'https://www.codingit.io/', + 'https://www.compre-certo.com/', + 'https://www.comune.castiglione.mn.it/', + 'https://www.constructforstl.org/', + 'https://www.coolshityoucanbuy.com/', + 'https://www.copart.fi/', + 'https://www.crispysfoods.com/', + 'https://www.cse-guide.fr/', + 'https://www.cse.msstate.edu/', + 'https://www.csmconstanta.ro/', + 'https://www.cvjm-mannheim.de/', + 'https://www.daddy-cool.gr/', + 'https://www.defendyl.lt/', + 'https://www.dekra-akademie.de/', + 'https://www.dgcoursereview.com/', + 'https://www.dicetowernews.com/', + 'https://www.digitalsigncertificadora.com.br/', + 'https://www.discoverpuertorico.com/', + 'https://www.divorcehq.com/', + 'https://www.domacosmeticos.com/', + 'https://www.dragonenergysolar.com/', + 'https://www.driversig.com/', + 'https://www.dszo.cz/', + 'https://www.dubaiwatchweek.com/', + 'https://www.e7kky.com/', + 'https://www.ecotaurus.it/', + 'https://www.edenyshop.hu/', + 'https://www.egholt.dk/', + 'https://www.elabogadoencasa.com/', + 'https://www.elmbrookschools.org/', + 'https://www.entz.hu/', + 'https://www.ese.school/', + 'https://www.ethicalfarmingfund.org/', + 'https://www.eti.at/', + 'https://www.etvwin.com/', + 'https://www.farma5.it/', + 'https://www.farmersweekly.co.za/', + 'https://www.fcinter1908.it/', + 'https://www.fefb.be/', + 'https://www.findapart.online/', + 'https://www.flatcreekranch.com/', + 'https://www.foodora.dk/', + 'https://www.ford-irnich-kerpen.de/', + 'https://www.forum-macchine.it/', + 'https://www.fourmining.com/', + 'https://www.fusiondms.com.br/', + 'https://www.gamemania.co.ke/', + 'https://www.gardinermotors.ca/', + 'https://www.gastrodomus.it/', + 'https://www.gastronomiashqiptare.com/', + 'https://www.gays-cruising.com/', + 'https://www.georgtech.ru/', + 'https://www.geschichtslehrer.in/', + 'https://www.gilbertandrose.co.uk/', + 'https://www.gobusiness.gov.sg/', + 'https://www.gold-silber-muenzen-shop.de/', + 'https://www.greece-islands.co.il/', + 'https://www.halitopuroprodutos.com.br/', + 'https://www.hardrockatlanticcitywildcardrewards.com/', + 'https://www.henriksenamplifiers.com/', + 'https://www.higherhealthoklahoma.com/', + 'https://www.homemate-research-religious-building.com/', + 'https://www.hospitalpilar.com.br/', + 'https://www.hotelcosmos.ru/', + 'https://www.hotelvillaenricalipari.com/', + 'https://www.howtogettheguy.com/', + 'https://www.hpezone.com/', + 'https://www.huggastore.com/', + 'https://www.icatudoacaodasorte.com.br/', + 'https://www.idealium.es/', + 'https://www.iesb.br/', + 'https://www.igap.net.br/', + 'https://www.iglesiadesantiago.cl/', + 'https://www.iims.ac.in/', + 'https://www.indiacarnews.com/', + 'https://www.indiancumx.com/', + 'https://www.informe365.com/', + 'https://www.inspetions.com/', + 'https://www.itms2014.sk/', + 'https://www.j360.info/', + 'https://www.jeanleader.net/', + 'https://www.joom.com/', + 'https://www.journal.ubb.ac.id/', + 'https://www.jsdc.or.jp/', + 'https://www.jusoen.com/', + 'https://www.jwu-economics.jp/', + 'https://www.kaplanpathways.com/', + 'https://www.keawsan.go.th/', + 'https://www.keramikashop.com/', + 'https://www.khnp.co.kr/', + 'https://www.kikky.bg/', + 'https://www.knowsleysafariexperience.co.uk/', + 'https://www.koegel.com/', + 'https://www.kokkensbuffet.dk/', + 'https://www.kosovarja.ch/', + 'https://www.ktj.edu.my/', + 'https://www.kuam.com/', + 'https://www.kw.ac.kr/', + 'https://www.la-queue-lez-yvelines.fr/', + 'https://www.lakeworthbeachgolfclub.com/', + 'https://www.lamagdalena.cz/', + 'https://www.latteandcloset.com/', + 'https://www.lawsons.com.au/', + 'https://www.lebanon.k12.or.us/', + 'https://www.lecheanal.com/', + 'https://www.lefrejus.com/', + 'https://www.lennyniemeyer.com.br/', + 'https://www.liberacampania.it/', + 'https://www.liceodiazce.edu.it/', + 'https://www.lieselstorten.de/', + 'https://www.limitededition.com.br/', + 'https://www.listel.co.jp/', + 'https://www.livinggreenandfeelingseedy.com/', + 'https://www.lolla.com.br/', + 'https://www.longjing.taichung.gov.tw/', + 'https://www.lorentz.de/', + 'https://www.lpnpp.gov.my/', + 'https://www.luckydreams.com/', + 'https://www.maennerseite.net/', + 'https://www.malge.com/', + 'https://www.manantial.com/', + 'https://www.matschke.org/', + 'https://www.maxizoo.be/', + 'https://www.meditek.ca/', + 'https://www.mein-mehl.de/', + 'https://www.mfc.co.za/', + 'https://www.mi5.gov.uk/', + 'https://www.mideastjewellery.com/', + 'https://www.mint-vk.at/', + 'https://www.misskits.com/', + 'https://www.mmm.ucar.edu/', + 'https://www.mojaniderlandia.pl/', + 'https://www.moneymag.com.au/', + 'https://www.motoproworks.com/', + 'https://www.moulin-barbotte.fr/', + 'https://www.mrvap18.com/', + 'https://www.mt09.net/', + 'https://www.mtnw.co.kr/', + 'https://www.mynbme.org/', + 'https://www.mypropchoice.com/', + 'https://www.nanzan-u.ac.jp/', + 'https://www.nawohin.at/', + 'https://www.ncwildlife.org/', + 'https://www.nearlysport.com/', + 'https://www.netcommissions.com/', + 'https://www.neue-schmiede.de/', + 'https://www.news-daily.com/', + 'https://www.nexusgroup.ca/', + 'https://www.nico.it/', + 'https://www.nmarrests.org/', + 'https://www.nmnm.mc/', + 'https://www.noiportal.hu/', + 'https://www.northernsoftware.com/', + 'https://www.northernthreads.co.uk/', + 'https://www.northwestfurnitureoutlet.com/', + 'https://www.novoskin.life/', + 'https://www.nphm.org/', + 'https://www.nsfcu.org/', + 'https://www.nurnisaboutique.com/', + 'https://www.nwkings.com/', + 'https://www.nxtbookmedia.com/', + 'https://www.oci.fr/', + 'https://www.officinesama.it/', + 'https://www.okiemonmaru.com/', + 'https://www.olabet.in/', + 'https://www.olvi-piusx.be/', + 'https://www.ondambientalstereo.com/', + 'https://www.onderdelenzoeker.nl/', + 'https://www.onlinepolis.org/', + 'https://www.opl.it/', + 'https://www.orientaldelightmansfield.co.uk/', + 'https://www.ostmusic.org/', + 'https://www.otthonokesmegoldasok.hu/', + 'https://www.oxxostudio.tw/', + 'https://www.pabxcctv.com/', + 'https://www.pagos.neuropsicologiard.com/', + 'https://www.pataugas.com/', + 'https://www.penaten.ca/', + 'https://www.petersoncontrolunion.com/', + 'https://www.petradoor.com/', + 'https://www.petsradar.com/', + 'https://www.petycjeonline.com/', + 'https://www.pimenton.com.uy/', + 'https://www.placegrenet.fr/', + 'https://www.planethaze.com/', + 'https://www.poljot24.de/', + 'https://www.pornobereich.com/', + 'https://www.portaleaste.com/', + 'https://www.powerliftingwatch.com/', + 'https://www.prefabnoord.nl/', + 'https://www.prestashop.com/', + 'https://www.print-tattoo.com/', + 'https://www.prominent.nu/', + 'https://www.proofficesolutionllp.in/', + 'https://www.prostamol.hr/', + 'https://www.quizexpo.com/', + 'https://www.qwetch.com/', + 'https://www.radiocontact.be/', + 'https://www.randallsjewellers.co.uk/', + 'https://www.region.by/', + 'https://www.renewcanada.net/', + 'https://www.replicaairguns.ca/', + 'https://www.rfmsonline.com/', + 'https://www.ricardoscasinolive.com/', + 'https://www.ritma.ca/', + 'https://www.rockinroll.com.ar/', + 'https://www.rodsbooks.com/', + 'https://www.rolex.de/', + 'https://www.romait.it/', + 'https://www.romance.io/', + 'https://www.rrserr.com/', + 'https://www.sagavinegar.jp/', + 'https://www.samakpl.ir/', + 'https://www.sangkhon.net/', + 'https://www.santaana.com.br/', + 'https://www.saransh.me/', + 'https://www.satco.com/', + 'https://www.scotiabank.com.uy/', + 'https://www.seawideb2b.com/', + 'https://www.sems.qmul.ac.uk/', + 'https://www.sepa-fr.com/', + 'https://www.shopdeelish.com/', + 'https://www.shopnisi.cz/', + 'https://www.siam99th.com/', + 'https://www.singha-club.com/', + 'https://www.skatepro.cz/', + 'https://www.slhn.org/', + 'https://www.slybroadcast.com/', + 'https://www.soccer6.co.za/', + 'https://www.solanopm.com/', + 'https://www.sonalinews.com/', + 'https://www.songcastmusic.com/', + 'https://www.sony.com.tw/', + 'https://www.southeasttexasrbs.com/', + 'https://www.spadom.se/', + 'https://www.sportsbabble.co.uk/', + 'https://www.sqsde.de/', + 'https://www.src-fontana.com/', + 'https://www.star-aviation.com.au/', + 'https://www.steimatzky.co.il/', + 'https://www.supersprint.com/', + 'https://www.susanskitchen.ca/', + 'https://www.teatroanfitrione.it/', + 'https://www.techbox.sk/', + 'https://www.the-paulmccartney-project.com/', + 'https://www.thedarkblues.co.uk/', + 'https://www.thedealmoon.com/', + 'https://www.thekordishgroup.com/', + 'https://www.thepropertybuyingcompany.co.uk/', + 'https://www.tlcdental.com.sg/', + 'https://www.toscanamoveis.com/', + 'https://www.total-painting.com/', + 'https://www.townfairtire.com/', + 'https://www.tplt.fr/', + 'https://www.traininguri.ro/', + 'https://www.trendypreset.com/', + 'https://www.trentapizza.ro/', + 'https://www.truenews.lk/', + 'https://www.ub.uni-rostock.de/', + 'https://www.ufagrand.com/', + 'https://www.uhs.edu.pk/', + 'https://www.urcare.org.tw/', + 'https://www.usedirect.com/', + 'https://www.usicbot.com/', + 'https://www.uzit-direct.com/', + 'https://www.vangorp.nl/', + 'https://www.vchodove-dvere.sk/', + 'https://www.vesaliusmedicina.com/', + 'https://www.viajesyrutas.es/', + 'https://www.vicosaurgente.com.br/', + 'https://www.videogamesblogger.com/', + 'https://www.vitaldestek.com/', + 'https://www.vivamaisplan.com.br/', + 'https://www.voetbalprimeur.nl/', + 'https://www.wada-ama.org/', + 'https://www.waldhof-forum.de/', + 'https://www.water.itami.hyogo.jp/', + 'https://www.wellmadegifts.co.uk/', + 'https://www.whatdotheyknow.com/', + 'https://www.wheelfinancing.com/', + 'https://www.whopperlab.no/', + 'https://www.wilke-shk.de/', + 'https://www.willingwarriors.org/', + 'https://www.wiscnews.com/', + 'https://www.woolville.ro/', + 'https://www.workshopsforretirement.com/', + 'https://www.worldpokertour.com/', + 'https://www.worldsatta.in/', + 'https://www.wursti.fi/', + 'https://www.xgoud.nl/', + 'https://www.xn--72c3a7ag1brb1f.com/', + 'https://www.xn--salvia-gebudetechnik-kzb.de/', + 'https://www.yh-kyoto.or.jp/', + 'https://www.za-hn.com/', + 'https://www.zenske-zdravi.cz/', + 'https://www.zeti.co/', + 'https://www.ziopizzamyslenice.pl/', + 'https://www1.inservice.edu.tw/', + 'https://xenaitalia.altervista.org/', + 'https://xenangnguoivn.com/', + 'https://xinslot.live/', + 'https://xn--80ahaeoknjgc0aw.xn--p1acf/', + 'https://xn--kodag-uua.dk/', + 'https://xvedio.org/', + 'https://xxxdata.net/', + 'https://xxxshake.com/', + 'https://yaamidesigns.com/', + 'https://yalcinotohafik.sahibinden.com/', + 'https://yerbamatehurt.com/', + 'https://ymcacampcullen.org/', + 'https://yosoyflora.com/', + 'https://youthmavalnews.com/', + 'https://zakononline.com.ua/', + 'https://zeegame555.com/', + 'https://zhcnt.ilovetranslation.com/', + 'https://zincwins.com/', + 'https://ziplift.ru/', + 'https://zurimall.co.ke/', + // These hand-picked sites likely have some nice properties, doesn't hurt to include going forward. + ...urlsLegacy, +].sort(); + +export default urls2023; diff --git a/core/scripts/lantern/download-traces.sh b/core/scripts/lantern/download-traces.sh index 2a23f6de059b..bc96c500bfb3 100755 --- a/core/scripts/lantern/download-traces.sh +++ b/core/scripts/lantern/download-traces.sh @@ -4,7 +4,7 @@ set -e -VERSION="2019-12-17-v2" +VERSION="2023-wip" DIRNAME="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" LH_ROOT_PATH="$DIRNAME/../../.." @@ -28,7 +28,7 @@ fi rm -rf lantern-data/ mkdir -p lantern-data/ && cd lantern-data -curl -o golden-lantern-traces.zip -L https://storage.googleapis.com/lh-lantern-data/golden-lantern-traces-$VERSION.zip +curl -o golden-lantern-traces.zip -L https://storage.googleapis.com/lh-lantern-data/lantern-traces-$VERSION.zip unzip -q golden-lantern-traces.zip rm golden-lantern-traces.zip diff --git a/core/test/fixtures/lantern-baseline-accuracy.json b/core/test/fixtures/lantern-baseline-accuracy.json index a73d62dea4f1..b257f1e7573f 100644 --- a/core/test/fixtures/lantern-baseline-accuracy.json +++ b/core/test/fixtures/lantern-baseline-accuracy.json @@ -1,27 +1,27 @@ { "roughEstimateOfFCP": { - "p50": 0.28936170212765955, - "p90": 0.4879553466509988, - "p95": 0.5191288993525603 + "p50": 0.5179428860247662, + "p90": 0.703180843459614, + "p95": 0.762613981762918 }, "roughEstimateOfFMP": { - "p50": 0.31948476052249636, - "p90": 0.5385564466378778, - "p95": 0.6406490583915669 + "p50": 0.51956745623069, + "p90": 0.7311130157952737, + "p95": 0.781940441882805 }, "roughEstimateOfSI": { - "p50": 0.2646236166849082, - "p90": 0.6493506493506493, - "p95": 0.9006036782254668 + "p50": 0.46736765772298766, + "p90": 0.6705320600272852, + "p95": 0.7396727779067069 }, "roughEstimateOfTTI": { - "p50": 0.27676284306826177, - "p90": 0.6586020003352517, - "p95": 0.7422988097352994 + "p50": 0.6319950469114636, + "p90": 0.8609892064998221, + "p95": 0.9417211328976035 }, "roughEstimateOfLCP": { - "p50": 0.20067905646890635, - "p90": 0.6717796212239787, - "p95": 0.8626966985498303 + "p50": 0.46511627906976744, + "p90": 0.7186291881443299, + "p95": 0.8750335210512201 } } diff --git a/core/test/fixtures/lantern-baseline-computed-values.json b/core/test/fixtures/lantern-baseline-computed-values.json index a8146ecc6c45..8394a59cd2b0 100644 --- a/core/test/fixtures/lantern-baseline-computed-values.json +++ b/core/test/fixtures/lantern-baseline-computed-values.json @@ -1,81 +1,76 @@ { "sites": [ - {"url": "http://m.iciba.com", "roughEstimateOfFCP": 1744, "optimisticFCP": 1744, "pessimisticFCP": 1744, "roughEstimateOfFMP": 1744, "optimisticFMP": 1744, "pessimisticFMP": 1744, "roughEstimateOfTTI": 7518, "optimisticTTI": 3338, "pessimisticTTI": 11698, "roughEstimateOfSI": 9842, "optimisticSI": 4764, "pessimisticSI": 5265, "roughEstimateOfLCP": 9783, "optimisticLCP": 9342, "pessimisticLCP": 10223, "roughEstimateOfTTFB": 685}, - {"url": "http://www.zol.com.cn/", "roughEstimateOfFCP": 3447, "optimisticFCP": 3447, "pessimisticFCP": 3447, "roughEstimateOfFMP": 3447, "optimisticFMP": 3447, "pessimisticFMP": 3447, "roughEstimateOfTTI": 15991, "optimisticTTI": 15003, "pessimisticTTI": 16979, "roughEstimateOfSI": 12512, "optimisticSI": 4861, "pessimisticSI": 9164, "roughEstimateOfLCP": 4369, "optimisticLCP": 4194, "pessimisticLCP": 4544, "roughEstimateOfTTFB": 648}, - {"url": "https://birdsarentreal.com", "roughEstimateOfFCP": 2962, "optimisticFCP": 2962, "pessimisticFCP": 2962, "roughEstimateOfFMP": 3448, "optimisticFMP": 3124, "pessimisticFMP": 3772, "roughEstimateOfTTI": 13465, "optimisticTTI": 12107, "pessimisticTTI": 14823, "roughEstimateOfSI": 5123, "optimisticSI": 1323, "pessimisticSI": 5417, "roughEstimateOfLCP": 7754, "optimisticLCP": 6986, "pessimisticLCP": 8523, "roughEstimateOfTTFB": 701}, - {"url": "https://depositfiles.com/", "roughEstimateOfFCP": 5098, "optimisticFCP": 5098, "pessimisticFCP": 5098, "roughEstimateOfFMP": 5486, "optimisticFMP": 5098, "pessimisticFMP": 5874, "roughEstimateOfTTI": 5982, "optimisticTTI": 5854, "pessimisticTTI": 6109, "roughEstimateOfSI": 7568, "optimisticSI": 2787, "pessimisticSI": 6025, "roughEstimateOfLCP": 6034, "optimisticLCP": 6034, "pessimisticLCP": 6034, "roughEstimateOfTTFB": 907}, - {"url": "https://en-maktoob.yahoo.com/?p=xa", "roughEstimateOfFCP": 1410, "optimisticFCP": 1410, "pessimisticFCP": 1410, "roughEstimateOfFMP": 1427, "optimisticFMP": 1410, "pessimisticFMP": 1443, "roughEstimateOfTTI": 6110, "optimisticTTI": 5167, "pessimisticTTI": 7054, "roughEstimateOfSI": 3885, "optimisticSI": 1039, "pessimisticSI": 4125, "roughEstimateOfLCP": 7333, "optimisticLCP": 7251, "pessimisticLCP": 7416, "roughEstimateOfTTFB": 618}, - {"url": "https://en.softonic.com", "roughEstimateOfFCP": 2191, "optimisticFCP": 2191, "pessimisticFCP": 2191, "roughEstimateOfFMP": 2584, "optimisticFMP": 2191, "pessimisticFMP": 2977, "roughEstimateOfTTI": 31427, "optimisticTTI": 27015, "pessimisticTTI": 35839, "roughEstimateOfSI": 12996, "optimisticSI": 3067, "pessimisticSI": 13771, "roughEstimateOfLCP": 3915, "optimisticLCP": 3504, "pessimisticLCP": 4325, "roughEstimateOfTTFB": 899}, - {"url": "https://gm.58.com/glsanfrancisco-sl/", "roughEstimateOfFCP": 3019, "optimisticFCP": 3019, "pessimisticFCP": 3019, "roughEstimateOfFMP": 3019, "optimisticFMP": 3019, "pessimisticFMP": 3019, "roughEstimateOfTTI": 4785, "optimisticTTI": 4436, "pessimisticTTI": 5134, "roughEstimateOfSI": 4605, "optimisticSI": 1762, "pessimisticSI": 3674, "roughEstimateOfLCP": 5337, "optimisticLCP": 5045, "pessimisticLCP": 5630, "roughEstimateOfTTFB": 787}, - {"url": "https://m.facebook.com/", "roughEstimateOfFCP": 2438, "optimisticFCP": 2407, "pessimisticFCP": 2468, "roughEstimateOfFMP": 2438, "optimisticFMP": 2407, "pessimisticFMP": 2468, "roughEstimateOfTTI": 4822, "optimisticTTI": 4217, "pessimisticTTI": 5427, "roughEstimateOfSI": 2685, "optimisticSI": 479, "pessimisticSI": 3484, "roughEstimateOfLCP": 3422, "optimisticLCP": 3391, "pessimisticLCP": 3452, "roughEstimateOfTTFB": 626}, - {"url": "https://m.hexun.com/", "roughEstimateOfFCP": 4446, "optimisticFCP": 4446, "pessimisticFCP": 4446, "roughEstimateOfFMP": 4446, "optimisticFMP": 4446, "pessimisticFMP": 4446, "roughEstimateOfTTI": 13560, "optimisticTTI": 9706, "pessimisticTTI": 17415, "roughEstimateOfSI": 11106, "optimisticSI": 3631, "pessimisticSI": 9650, "roughEstimateOfLCP": 5993, "optimisticLCP": 4825, "pessimisticLCP": 7161, "roughEstimateOfTTFB": 931}, - {"url": "https://m.mop.com/", "roughEstimateOfFCP": 2518, "optimisticFCP": 2518, "pessimisticFCP": 2518, "roughEstimateOfFMP": 2518, "optimisticFMP": 2518, "pessimisticFMP": 2518, "roughEstimateOfTTI": 6347, "optimisticTTI": 4869, "pessimisticTTI": 7825, "roughEstimateOfSI": 6129, "optimisticSI": 2399, "pessimisticSI": 4646, "roughEstimateOfLCP": 3548, "optimisticLCP": 3398, "pessimisticLCP": 3698, "roughEstimateOfTTFB": 859}, - {"url": "https://m.sogou.com/", "roughEstimateOfFCP": 2151, "optimisticFCP": 2151, "pessimisticFCP": 2151, "roughEstimateOfFMP": 3077, "optimisticFMP": 2151, "pessimisticFMP": 4002, "roughEstimateOfTTI": 4313, "optimisticTTI": 4199, "pessimisticTTI": 4426, "roughEstimateOfSI": 8305, "optimisticSI": 4734, "pessimisticSI": 2965, "roughEstimateOfLCP": 5123, "optimisticLCP": 4937, "pessimisticLCP": 5309, "roughEstimateOfTTFB": 778}, - {"url": "https://m.youdao.com/", "roughEstimateOfFCP": 1497, "optimisticFCP": 1497, "pessimisticFCP": 1497, "roughEstimateOfFMP": 1497, "optimisticFMP": 1497, "pessimisticFMP": 1497, "roughEstimateOfTTI": 2492, "optimisticTTI": 2348, "pessimisticTTI": 2635, "roughEstimateOfSI": 2371, "optimisticSI": 1152, "pessimisticSI": 1552, "roughEstimateOfLCP": 2304, "optimisticLCP": 2304, "pessimisticLCP": 2304, "roughEstimateOfTTFB": 988}, - {"url": "https://mail.ru/", "roughEstimateOfFCP": 3562, "optimisticFCP": 3562, "pessimisticFCP": 3562, "roughEstimateOfFMP": 3562, "optimisticFMP": 3562, "pessimisticFMP": 3562, "roughEstimateOfTTI": 25151, "optimisticTTI": 19420, "pessimisticTTI": 30881, "roughEstimateOfSI": 9367, "optimisticSI": 2087, "pessimisticSI": 10300, "roughEstimateOfLCP": 4730, "optimisticLCP": 4438, "pessimisticLCP": 5021, "roughEstimateOfTTFB": 763}, - {"url": "https://mobile.twitter.com/", "roughEstimateOfFCP": 1100, "optimisticFCP": 1100, "pessimisticFCP": 1100, "roughEstimateOfFMP": 4843, "optimisticFMP": 4647, "pessimisticFMP": 5039, "roughEstimateOfTTI": 8467, "optimisticTTI": 8387, "pessimisticTTI": 8547, "roughEstimateOfSI": 4462, "optimisticSI": 1283, "pessimisticSI": 4486, "roughEstimateOfLCP": 9326, "optimisticLCP": 9246, "pessimisticLCP": 9406, "roughEstimateOfTTFB": 633}, - {"url": "https://noclip.website/", "roughEstimateOfFCP": 14263, "optimisticFCP": 14263, "pessimisticFCP": 14263, "roughEstimateOfFMP": 14263, "optimisticFMP": 14263, "pessimisticFMP": 14263, "roughEstimateOfTTI": 14726, "optimisticTTI": 14726, "pessimisticTTI": 14726, "roughEstimateOfSI": 14263, "optimisticSI": 606, "pessimisticSI": 14263, "roughEstimateOfLCP": 14790, "optimisticLCP": 14790, "pessimisticLCP": 14790, "roughEstimateOfTTFB": 601}, - {"url": "https://noclip.website/#bk/01;ZNCA8Ac%7d%7b15_%28S%7bMfXPk;;zm%28[o$K3YC;u%5e~P3%7duru4~L~W9l%7d&a79MC%7d=m$v*_8!_6DhC=", "roughEstimateOfFCP": 14253, "optimisticFCP": 14253, "pessimisticFCP": 14253, "roughEstimateOfFMP": 14253, "optimisticFMP": 14253, "pessimisticFMP": 14253, "roughEstimateOfTTI": 14853, "optimisticTTI": 14764, "pessimisticTTI": 14941, "roughEstimateOfSI": 14253, "optimisticSI": 584, "pessimisticSI": 14253, "roughEstimateOfLCP": 14782, "optimisticLCP": 14782, "pessimisticLCP": 14782, "roughEstimateOfTTFB": 600}, - {"url": "https://sfbay.craigslist.org/", "roughEstimateOfFCP": 1519, "optimisticFCP": 1519, "pessimisticFCP": 1519, "roughEstimateOfFMP": 2654, "optimisticFMP": 2654, "pessimisticFMP": 2654, "roughEstimateOfTTI": 2729, "optimisticTTI": 2654, "pessimisticTTI": 2804, "roughEstimateOfSI": 1681, "optimisticSI": 482, "pessimisticSI": 1933, "roughEstimateOfLCP": 1827, "optimisticLCP": 1827, "pessimisticLCP": 1827, "roughEstimateOfTTFB": 604}, - {"url": "https://stripe.com/docs", "roughEstimateOfFCP": 3670, "optimisticFCP": 3670, "pessimisticFCP": 3670, "roughEstimateOfFMP": 3670, "optimisticFMP": 3670, "pessimisticFMP": 3670, "roughEstimateOfTTI": 6893, "optimisticTTI": 6482, "pessimisticTTI": 7304, "roughEstimateOfSI": 4919, "optimisticSI": 1830, "pessimisticSI": 4010, "roughEstimateOfLCP": 4473, "optimisticLCP": 4473, "pessimisticLCP": 4473, "roughEstimateOfTTFB": 1161}, - {"url": "https://wap.sogou.com/", "roughEstimateOfFCP": 2173, "optimisticFCP": 2173, "pessimisticFCP": 2173, "roughEstimateOfFMP": 2992, "optimisticFMP": 2173, "pessimisticFMP": 3812, "roughEstimateOfTTI": 6946, "optimisticTTI": 5404, "pessimisticTTI": 8489, "roughEstimateOfSI": 9543, "optimisticSI": 4895, "pessimisticSI": 4523, "roughEstimateOfLCP": 5067, "optimisticLCP": 4671, "pessimisticLCP": 5463, "roughEstimateOfTTFB": 794}, - {"url": "https://weather.com/", "roughEstimateOfFCP": 3751, "optimisticFCP": 3564, "pessimisticFCP": 3938, "roughEstimateOfFMP": 3751, "optimisticFMP": 3564, "pessimisticFMP": 3938, "roughEstimateOfTTI": 27167, "optimisticTTI": 23242, "pessimisticTTI": 31092, "roughEstimateOfSI": 14587, "optimisticSI": 1582, "pessimisticSI": 19418, "roughEstimateOfLCP": 4125, "optimisticLCP": 3938, "pessimisticLCP": 4312, "roughEstimateOfTTFB": 642}, - {"url": "https://www.4shared.com/", "roughEstimateOfFCP": 3488, "optimisticFCP": 3488, "pessimisticFCP": 3488, "roughEstimateOfFMP": 3997, "optimisticFMP": 3488, "pessimisticFMP": 4506, "roughEstimateOfTTI": 6149, "optimisticTTI": 6063, "pessimisticTTI": 6236, "roughEstimateOfSI": 4146, "optimisticSI": 819, "pessimisticSI": 4999, "roughEstimateOfLCP": 4679, "optimisticLCP": 4679, "pessimisticLCP": 4679, "roughEstimateOfTTFB": 601}, - {"url": "https://www.56.com/", "roughEstimateOfFCP": 2998, "optimisticFCP": 2793, "pessimisticFCP": 3202, "roughEstimateOfFMP": 2998, "optimisticFMP": 2793, "pessimisticFMP": 3202, "roughEstimateOfTTI": 26347, "optimisticTTI": 4098, "pessimisticTTI": 48596, "roughEstimateOfSI": 21816, "optimisticSI": 5195, "pessimisticSI": 22758, "roughEstimateOfLCP": 21835, "optimisticLCP": 5708, "pessimisticLCP": 37963, "roughEstimateOfTTFB": 840}, - {"url": "https://www.addthis.com/", "roughEstimateOfFCP": 2104, "optimisticFCP": 2104, "pessimisticFCP": 2104, "roughEstimateOfFMP": 2104, "optimisticFMP": 2104, "pessimisticFMP": 2104, "roughEstimateOfTTI": 9077, "optimisticTTI": 8624, "pessimisticTTI": 9531, "roughEstimateOfSI": 4925, "optimisticSI": 1375, "pessimisticSI": 5000, "roughEstimateOfLCP": 2625, "optimisticLCP": 2549, "pessimisticLCP": 2701, "roughEstimateOfTTFB": 699}, - {"url": "https://www.alexa.com/", "roughEstimateOfFCP": 3839, "optimisticFCP": 3839, "pessimisticFCP": 3839, "roughEstimateOfFMP": 4507, "optimisticFMP": 4184, "pessimisticFMP": 4831, "roughEstimateOfTTI": 15734, "optimisticTTI": 11567, "pessimisticTTI": 19901, "roughEstimateOfSI": 8065, "optimisticSI": 2373, "pessimisticSI": 7681, "roughEstimateOfLCP": 8807, "optimisticLCP": 8634, "pessimisticLCP": 8980, "roughEstimateOfTTFB": 654}, - {"url": "https://www.amazon.co.jp/", "roughEstimateOfFCP": 2940, "optimisticFCP": 2940, "pessimisticFCP": 2940, "roughEstimateOfFMP": 4042, "optimisticFMP": 2940, "pessimisticFMP": 5143, "roughEstimateOfTTI": 9041, "optimisticTTI": 6002, "pessimisticTTI": 12080, "roughEstimateOfSI": 4637, "optimisticSI": 1079, "pessimisticSI": 5194, "roughEstimateOfLCP": 5192, "optimisticLCP": 4670, "pessimisticLCP": 5714, "roughEstimateOfTTFB": 852}, - {"url": "https://www.att.com/", "roughEstimateOfFCP": 5457, "optimisticFCP": 5005, "pessimisticFCP": 5910, "roughEstimateOfFMP": 5698, "optimisticFMP": 5005, "pessimisticFMP": 6391, "roughEstimateOfTTI": 30075, "optimisticTTI": 27319, "pessimisticTTI": 32831, "roughEstimateOfSI": 9164, "optimisticSI": 1858, "pessimisticSI": 10482, "roughEstimateOfLCP": 13817, "optimisticLCP": 13737, "pessimisticLCP": 13897, "roughEstimateOfTTFB": 651}, - {"url": "https://www.bing.com/", "roughEstimateOfFCP": 962, "optimisticFCP": 962, "pessimisticFCP": 962, "roughEstimateOfFMP": 1339, "optimisticFMP": 962, "pessimisticFMP": 1717, "roughEstimateOfTTI": 2491, "optimisticTTI": 2241, "pessimisticTTI": 2741, "roughEstimateOfSI": 1565, "optimisticSI": 467, "pessimisticSI": 1788, "roughEstimateOfLCP": 1548, "optimisticLCP": 1262, "pessimisticLCP": 1834, "roughEstimateOfTTFB": 608}, - {"url": "https://www.blogger.com/about/", "roughEstimateOfFCP": 1533, "optimisticFCP": 1533, "pessimisticFCP": 1533, "roughEstimateOfFMP": 2106, "optimisticFMP": 1956, "pessimisticFMP": 2256, "roughEstimateOfTTI": 2251, "optimisticTTI": 2222, "pessimisticTTI": 2280, "roughEstimateOfSI": 6828, "optimisticSI": 4188, "pessimisticSI": 1870, "roughEstimateOfLCP": 2385, "optimisticLCP": 2280, "pessimisticLCP": 2489, "roughEstimateOfTTFB": 603}, - {"url": "https://www.cnet.com/", "roughEstimateOfFCP": 2578, "optimisticFCP": 2218, "pessimisticFCP": 2938, "roughEstimateOfFMP": 2814, "optimisticFMP": 2539, "pessimisticFMP": 3089, "roughEstimateOfTTI": 43169, "optimisticTTI": 39862, "pessimisticTTI": 46476, "roughEstimateOfSI": 15832, "optimisticSI": 1339, "pessimisticSI": 21858, "roughEstimateOfLCP": 4265, "optimisticLCP": 4185, "pessimisticLCP": 4346, "roughEstimateOfTTFB": 608}, - {"url": "https://www.codewars.com", "roughEstimateOfFCP": 2248, "optimisticFCP": 2248, "pessimisticFCP": 2248, "roughEstimateOfFMP": 3453, "optimisticFMP": 2422, "pessimisticFMP": 4483, "roughEstimateOfTTI": 8825, "optimisticTTI": 7042, "pessimisticTTI": 10608, "roughEstimateOfSI": 4008, "optimisticSI": 834, "pessimisticSI": 4755, "roughEstimateOfLCP": 9643, "optimisticLCP": 9318, "pessimisticLCP": 9968, "roughEstimateOfTTFB": 609}, - {"url": "https://www.dawn.com/", "roughEstimateOfFCP": 2588, "optimisticFCP": 2262, "pessimisticFCP": 2914, "roughEstimateOfFMP": 2832, "optimisticFMP": 2588, "pessimisticFMP": 3077, "roughEstimateOfTTI": 25693, "optimisticTTI": 23532, "pessimisticTTI": 27855, "roughEstimateOfSI": 10399, "optimisticSI": 1332, "pessimisticSI": 13514, "roughEstimateOfLCP": 3892, "optimisticLCP": 3240, "pessimisticLCP": 4543, "roughEstimateOfTTFB": 652}, - {"url": "https://www.deviantart.com/", "roughEstimateOfFCP": 2926, "optimisticFCP": 2926, "pessimisticFCP": 2926, "roughEstimateOfFMP": 2926, "optimisticFMP": 2926, "pessimisticFMP": 2926, "roughEstimateOfTTI": 13024, "optimisticTTI": 11062, "pessimisticTTI": 14985, "roughEstimateOfSI": 3089, "optimisticSI": 996, "pessimisticSI": 2992, "roughEstimateOfLCP": 11953, "optimisticLCP": 10408, "pessimisticLCP": 13497, "roughEstimateOfTTFB": 1009}, - {"url": "https://www.domaintools.com/", "roughEstimateOfFCP": 3236, "optimisticFCP": 3236, "pessimisticFCP": 3236, "roughEstimateOfFMP": 4819, "optimisticFMP": 3433, "pessimisticFMP": 6205, "roughEstimateOfTTI": 10881, "optimisticTTI": 10421, "pessimisticTTI": 11341, "roughEstimateOfSI": 7213, "optimisticSI": 3235, "pessimisticSI": 4515, "roughEstimateOfLCP": 7194, "optimisticLCP": 7194, "pessimisticLCP": 7194, "roughEstimateOfTTFB": 2351}, - {"url": "https://www.ebay.com/", "roughEstimateOfFCP": 2142, "optimisticFCP": 2142, "pessimisticFCP": 2142, "roughEstimateOfFMP": 2461, "optimisticFMP": 2461, "pessimisticFMP": 2461, "roughEstimateOfTTI": 16537, "optimisticTTI": 14670, "pessimisticTTI": 18404, "roughEstimateOfSI": 4328, "optimisticSI": 628, "pessimisticSI": 5691, "roughEstimateOfLCP": 2940, "optimisticLCP": 2461, "pessimisticLCP": 3419, "roughEstimateOfTTFB": 699}, - {"url": "https://www.ebs.in/IPS/", "roughEstimateOfFCP": 6387, "optimisticFCP": 4297, "pessimisticFCP": 8476, "roughEstimateOfFMP": 7012, "optimisticFMP": 4724, "pessimisticFMP": 9300, "roughEstimateOfTTI": 14724, "optimisticTTI": 7479, "pessimisticTTI": 21970, "roughEstimateOfSI": 13538, "optimisticSI": 4003, "pessimisticSI": 12590, "roughEstimateOfLCP": 10858, "optimisticLCP": 6114, "pessimisticLCP": 15602, "roughEstimateOfTTFB": 1223}, - {"url": "https://www.espn.com/", "roughEstimateOfFCP": 3910, "optimisticFCP": 3910, "pessimisticFCP": 3910, "roughEstimateOfFMP": 5320, "optimisticFMP": 3910, "pessimisticFMP": 6731, "roughEstimateOfTTI": 36291, "optimisticTTI": 33591, "pessimisticTTI": 38991, "roughEstimateOfSI": 13266, "optimisticSI": 2989, "pessimisticSI": 14356, "roughEstimateOfLCP": 7771, "optimisticLCP": 7371, "pessimisticLCP": 8171, "roughEstimateOfTTFB": 637}, - {"url": "https://www.flipkart.com", "roughEstimateOfFCP": 2367, "optimisticFCP": 2367, "pessimisticFCP": 2367, "roughEstimateOfFMP": 3939, "optimisticFMP": 2528, "pessimisticFMP": 5349, "roughEstimateOfTTI": 12626, "optimisticTTI": 10335, "pessimisticTTI": 14916, "roughEstimateOfSI": 7407, "optimisticSI": 3188, "pessimisticSI": 4913, "roughEstimateOfLCP": 11750, "optimisticLCP": 10673, "pessimisticLCP": 12827, "roughEstimateOfTTFB": 922}, - {"url": "https://www.foxnews.com/", "roughEstimateOfFCP": 3692, "optimisticFCP": 3692, "pessimisticFCP": 3692, "roughEstimateOfFMP": 3692, "optimisticFMP": 3692, "pessimisticFMP": 3692, "roughEstimateOfTTI": 23711, "optimisticTTI": 20278, "pessimisticTTI": 27144, "roughEstimateOfSI": 12429, "optimisticSI": 1187, "pessimisticSI": 16950, "roughEstimateOfLCP": 5682, "optimisticLCP": 5523, "pessimisticLCP": 5841, "roughEstimateOfTTFB": 634}, - {"url": "https://www.gmx.net/", "roughEstimateOfFCP": 2345, "optimisticFCP": 2345, "pessimisticFCP": 2345, "roughEstimateOfFMP": 2345, "optimisticFMP": 2345, "pessimisticFMP": 2345, "roughEstimateOfTTI": 10347, "optimisticTTI": 9948, "pessimisticTTI": 10746, "roughEstimateOfSI": 4452, "optimisticSI": 1327, "pessimisticSI": 4376, "roughEstimateOfLCP": 7124, "optimisticLCP": 7103, "pessimisticLCP": 7146, "roughEstimateOfTTFB": 611}, - {"url": "https://www.hatena.ne.jp/", "roughEstimateOfFCP": 1743, "optimisticFCP": 1743, "pessimisticFCP": 1743, "roughEstimateOfFMP": 2768, "optimisticFMP": 2265, "pessimisticFMP": 3272, "roughEstimateOfTTI": 15852, "optimisticTTI": 12460, "pessimisticTTI": 19244, "roughEstimateOfSI": 8974, "optimisticSI": 2323, "pessimisticSI": 9187, "roughEstimateOfLCP": 5595, "optimisticLCP": 4758, "pessimisticLCP": 6433, "roughEstimateOfTTFB": 877}, - {"url": "https://www.hulu.com/welcome", "roughEstimateOfFCP": 3938, "optimisticFCP": 3777, "pessimisticFCP": 4098, "roughEstimateOfFMP": 8045, "optimisticFMP": 7724, "pessimisticFMP": 8366, "roughEstimateOfTTI": 16748, "optimisticTTI": 15598, "pessimisticTTI": 17897, "roughEstimateOfSI": 5944, "optimisticSI": 920, "pessimisticSI": 7547, "roughEstimateOfLCP": 4098, "optimisticLCP": 4098, "pessimisticLCP": 4098, "roughEstimateOfTTFB": 612}, - {"url": "https://www.ifeng.com/", "roughEstimateOfFCP": 5148, "optimisticFCP": 5148, "pessimisticFCP": 5148, "roughEstimateOfFMP": 5148, "optimisticFMP": 5148, "pessimisticFMP": 5148, "roughEstimateOfTTI": 6096, "optimisticTTI": 5864, "pessimisticTTI": 6329, "roughEstimateOfSI": 7291, "optimisticSI": 2997, "pessimisticSI": 5148, "roughEstimateOfLCP": 5556, "optimisticLCP": 5556, "pessimisticLCP": 5556, "roughEstimateOfTTFB": 1653}, - {"url": "https://www.imageshack.us/login", "roughEstimateOfFCP": 2311, "optimisticFCP": 2310, "pessimisticFCP": 2313, "roughEstimateOfFMP": 2311, "optimisticFMP": 2310, "pessimisticFMP": 2313, "roughEstimateOfTTI": 7920, "optimisticTTI": 7670, "pessimisticTTI": 8169, "roughEstimateOfSI": 4787, "optimisticSI": 1491, "pessimisticSI": 4539, "roughEstimateOfLCP": 3652, "optimisticLCP": 3466, "pessimisticLCP": 3838, "roughEstimateOfTTFB": 603}, - {"url": "https://www.instagram.com/", "roughEstimateOfFCP": 1103, "optimisticFCP": 1103, "pessimisticFCP": 1103, "roughEstimateOfFMP": 3688, "optimisticFMP": 3688, "pessimisticFMP": 3688, "roughEstimateOfTTI": 5845, "optimisticTTI": 5216, "pessimisticTTI": 6475, "roughEstimateOfSI": 2900, "optimisticSI": 822, "pessimisticSI": 3077, "roughEstimateOfLCP": 5169, "optimisticLCP": 5089, "pessimisticLCP": 5248, "roughEstimateOfTTFB": 606}, - {"url": "https://www.irs.gov/", "roughEstimateOfFCP": 2022, "optimisticFCP": 2022, "pessimisticFCP": 2022, "roughEstimateOfFMP": 3229, "optimisticFMP": 2788, "pessimisticFMP": 3670, "roughEstimateOfTTI": 15149, "optimisticTTI": 13822, "pessimisticTTI": 16476, "roughEstimateOfSI": 4953, "optimisticSI": 818, "pessimisticSI": 6242, "roughEstimateOfLCP": 4217, "optimisticLCP": 3724, "pessimisticLCP": 4711, "roughEstimateOfTTFB": 684}, - {"url": "https://www.java.com/en/", "roughEstimateOfFCP": 961, "optimisticFCP": 961, "pessimisticFCP": 961, "roughEstimateOfFMP": 961, "optimisticFMP": 961, "pessimisticFMP": 961, "roughEstimateOfTTI": 3252, "optimisticTTI": 3102, "pessimisticTTI": 3402, "roughEstimateOfSI": 1207, "optimisticSI": 484, "pessimisticSI": 1199, "roughEstimateOfLCP": 3050, "optimisticLCP": 3050, "pessimisticLCP": 3050, "roughEstimateOfTTFB": 643}, - {"url": "https://www.linkedin.com/", "roughEstimateOfFCP": 1903, "optimisticFCP": 1903, "pessimisticFCP": 1903, "roughEstimateOfFMP": 1903, "optimisticFMP": 1903, "pessimisticFMP": 1903, "roughEstimateOfTTI": 11294, "optimisticTTI": 9700, "pessimisticTTI": 12888, "roughEstimateOfSI": 2073, "optimisticSI": 655, "pessimisticSI": 2164, "roughEstimateOfLCP": 2196, "optimisticLCP": 2155, "pessimisticLCP": 2237, "roughEstimateOfTTFB": 656}, - {"url": "https://www.metacafe.com/", "roughEstimateOfFCP": 1908, "optimisticFCP": 1908, "pessimisticFCP": 1908, "roughEstimateOfFMP": 1908, "optimisticFMP": 1908, "pessimisticFMP": 1908, "roughEstimateOfTTI": 6319, "optimisticTTI": 5841, "pessimisticTTI": 6796, "roughEstimateOfSI": 3459, "optimisticSI": 769, "pessimisticSI": 4050, "roughEstimateOfLCP": 4892, "optimisticLCP": 4892, "pessimisticLCP": 4892, "roughEstimateOfTTFB": 621}, - {"url": "https://www.mgid.com/ru", "roughEstimateOfFCP": 2063, "optimisticFCP": 2063, "pessimisticFCP": 2063, "roughEstimateOfFMP": 4456, "optimisticFMP": 4053, "pessimisticFMP": 4858, "roughEstimateOfTTI": 15378, "optimisticTTI": 14360, "pessimisticTTI": 16396, "roughEstimateOfSI": 6290, "optimisticSI": 983, "pessimisticSI": 7944, "roughEstimateOfLCP": 8322, "optimisticLCP": 7758, "pessimisticLCP": 8886, "roughEstimateOfTTFB": 648}, - {"url": "https://www.mlb.com/", "roughEstimateOfFCP": 3034, "optimisticFCP": 3034, "pessimisticFCP": 3034, "roughEstimateOfFMP": 3034, "optimisticFMP": 3034, "pessimisticFMP": 3034, "roughEstimateOfTTI": 38215, "optimisticTTI": 30243, "pessimisticTTI": 46187, "roughEstimateOfSI": 19128, "optimisticSI": 1316, "pessimisticSI": 26979, "roughEstimateOfLCP": 4649, "optimisticLCP": 4326, "pessimisticLCP": 4972, "roughEstimateOfTTFB": 604}, - {"url": "https://www.mozilla.org/en-US/", "roughEstimateOfFCP": 2359, "optimisticFCP": 2359, "pessimisticFCP": 2359, "roughEstimateOfFMP": 2359, "optimisticFMP": 2359, "pessimisticFMP": 2359, "roughEstimateOfTTI": 5647, "optimisticTTI": 5247, "pessimisticTTI": 6047, "roughEstimateOfSI": 3235, "optimisticSI": 801, "pessimisticSI": 3638, "roughEstimateOfLCP": 5703, "optimisticLCP": 5359, "pessimisticLCP": 6047, "roughEstimateOfTTFB": 607}, - {"url": "https://www.msn.com/", "roughEstimateOfFCP": 2174, "optimisticFCP": 2094, "pessimisticFCP": 2255, "roughEstimateOfFMP": 2521, "optimisticFMP": 2094, "pessimisticFMP": 2948, "roughEstimateOfTTI": 11300, "optimisticTTI": 10051, "pessimisticTTI": 12548, "roughEstimateOfSI": 5459, "optimisticSI": 1381, "pessimisticSI": 5809, "roughEstimateOfLCP": 3317, "optimisticLCP": 3204, "pessimisticLCP": 3430, "roughEstimateOfTTFB": 637}, - {"url": "https://www.netflix.com/", "roughEstimateOfFCP": 4341, "optimisticFCP": 4341, "pessimisticFCP": 4341, "roughEstimateOfFMP": 5453, "optimisticFMP": 5391, "pessimisticFMP": 5514, "roughEstimateOfTTI": 8070, "optimisticTTI": 5724, "pessimisticTTI": 10415, "roughEstimateOfSI": 4440, "optimisticSI": 871, "pessimisticSI": 5340, "roughEstimateOfLCP": 6896, "optimisticLCP": 6296, "pessimisticLCP": 7496, "roughEstimateOfTTFB": 609}, - {"url": "https://www.nih.gov/", "roughEstimateOfFCP": 4196, "optimisticFCP": 4150, "pessimisticFCP": 4242, "roughEstimateOfFMP": 4941, "optimisticFMP": 4397, "pessimisticFMP": 5485, "roughEstimateOfTTI": 6698, "optimisticTTI": 5680, "pessimisticTTI": 7715, "roughEstimateOfSI": 4650, "optimisticSI": 830, "pessimisticSI": 5751, "roughEstimateOfLCP": 6870, "optimisticLCP": 6207, "pessimisticLCP": 7533, "roughEstimateOfTTFB": 604}, - {"url": "https://www.ning.com/", "roughEstimateOfFCP": 2106, "optimisticFCP": 2106, "pessimisticFCP": 2106, "roughEstimateOfFMP": 3212, "optimisticFMP": 2497, "pessimisticFMP": 3927, "roughEstimateOfTTI": 17380, "optimisticTTI": 14542, "pessimisticTTI": 20218, "roughEstimateOfSI": 7405, "optimisticSI": 1385, "pessimisticSI": 8793, "roughEstimateOfLCP": 5294, "optimisticLCP": 4524, "pessimisticLCP": 6064, "roughEstimateOfTTFB": 601}, - {"url": "https://www.nokia.com/", "roughEstimateOfFCP": 2460, "optimisticFCP": 2460, "pessimisticFCP": 2460, "roughEstimateOfFMP": 2460, "optimisticFMP": 2460, "pessimisticFMP": 2460, "roughEstimateOfTTI": 12447, "optimisticTTI": 11923, "pessimisticTTI": 12971, "roughEstimateOfSI": 5446, "optimisticSI": 1367, "pessimisticSI": 5819, "roughEstimateOfLCP": 6452, "optimisticLCP": 6452, "pessimisticLCP": 6452, "roughEstimateOfTTFB": 614}, - {"url": "https://www.ocn.ne.jp/", "roughEstimateOfFCP": 3720, "optimisticFCP": 3720, "pessimisticFCP": 3720, "roughEstimateOfFMP": 3720, "optimisticFMP": 3720, "pessimisticFMP": 3720, "roughEstimateOfTTI": 10647, "optimisticTTI": 9684, "pessimisticTTI": 11610, "roughEstimateOfSI": 6092, "optimisticSI": 2266, "pessimisticSI": 4877, "roughEstimateOfLCP": 4726, "optimisticLCP": 4484, "pessimisticLCP": 4969, "roughEstimateOfTTFB": 1581}, - {"url": "https://www.onet.pl/", "roughEstimateOfFCP": 2078, "optimisticFCP": 2078, "pessimisticFCP": 2078, "roughEstimateOfFMP": 2078, "optimisticFMP": 2078, "pessimisticFMP": 2078, "roughEstimateOfTTI": 11869, "optimisticTTI": 11083, "pessimisticTTI": 12655, "roughEstimateOfSI": 5401, "optimisticSI": 1759, "pessimisticSI": 4906, "roughEstimateOfLCP": 3834, "optimisticLCP": 3834, "pessimisticLCP": 3834, "roughEstimateOfTTFB": 600}, - {"url": "https://www.orange.fr/portail", "roughEstimateOfFCP": 4085, "optimisticFCP": 3000, "pessimisticFCP": 5170, "roughEstimateOfFMP": 5055, "optimisticFMP": 3459, "pessimisticFMP": 6652, "roughEstimateOfTTI": 18257, "optimisticTTI": 16766, "pessimisticTTI": 19748, "roughEstimateOfSI": 10600, "optimisticSI": 3925, "pessimisticSI": 8238, "roughEstimateOfLCP": 6874, "optimisticLCP": 6260, "pessimisticLCP": 7489, "roughEstimateOfTTFB": 880}, - {"url": "https://www.partypoker.com/", "roughEstimateOfFCP": 4990, "optimisticFCP": 4990, "pessimisticFCP": 4990, "roughEstimateOfFMP": 4990, "optimisticFMP": 4990, "pessimisticFMP": 4990, "roughEstimateOfTTI": 7253, "optimisticTTI": 5396, "pessimisticTTI": 9111, "roughEstimateOfSI": 6766, "optimisticSI": 2695, "pessimisticSI": 4990, "roughEstimateOfLCP": 7009, "optimisticLCP": 5152, "pessimisticLCP": 8867, "roughEstimateOfTTFB": 1094}, - {"url": "https://www.rakuten.co.jp/", "roughEstimateOfFCP": 3165, "optimisticFCP": 3165, "pessimisticFCP": 3165, "roughEstimateOfFMP": 5641, "optimisticFMP": 3165, "pessimisticFMP": 8117, "roughEstimateOfTTI": 26527, "optimisticTTI": 19609, "pessimisticTTI": 33444, "roughEstimateOfSI": 12164, "optimisticSI": 4212, "pessimisticSI": 10026, "roughEstimateOfLCP": 8521, "optimisticLCP": 8121, "pessimisticLCP": 8921, "roughEstimateOfTTFB": 698}, - {"url": "https://www.reddit.com/", "roughEstimateOfFCP": 2375, "optimisticFCP": 2296, "pessimisticFCP": 2455, "roughEstimateOfFMP": 7729, "optimisticFMP": 5762, "pessimisticFMP": 9695, "roughEstimateOfTTI": 12360, "optimisticTTI": 11062, "pessimisticTTI": 13658, "roughEstimateOfSI": 8400, "optimisticSI": 3340, "pessimisticSI": 6113, "roughEstimateOfLCP": 10681, "optimisticLCP": 9048, "pessimisticLCP": 12313, "roughEstimateOfTTFB": 1017}, - {"url": "https://www.scribd.com/", "roughEstimateOfFCP": 2099, "optimisticFCP": 2099, "pessimisticFCP": 2099, "roughEstimateOfFMP": 2099, "optimisticFMP": 2099, "pessimisticFMP": 2099, "roughEstimateOfTTI": 10282, "optimisticTTI": 9541, "pessimisticTTI": 11024, "roughEstimateOfSI": 4232, "optimisticSI": 873, "pessimisticSI": 5016, "roughEstimateOfLCP": 8049, "optimisticLCP": 7302, "pessimisticLCP": 8797, "roughEstimateOfTTFB": 635}, - {"url": "https://www.shopping.com/", "roughEstimateOfFCP": 2882, "optimisticFCP": 2488, "pessimisticFCP": 3277, "roughEstimateOfFMP": 2882, "optimisticFMP": 2488, "pessimisticFMP": 3277, "roughEstimateOfTTI": 5569, "optimisticTTI": 5146, "pessimisticTTI": 5991, "roughEstimateOfSI": 3675, "optimisticSI": 1210, "pessimisticSI": 3433, "roughEstimateOfLCP": 4449, "optimisticLCP": 4342, "pessimisticLCP": 4557, "roughEstimateOfTTFB": 612}, - {"url": "https://www.skype.com/en/", "roughEstimateOfFCP": 2614, "optimisticFCP": 2614, "pessimisticFCP": 2614, "roughEstimateOfFMP": 2862, "optimisticFMP": 2614, "pessimisticFMP": 3109, "roughEstimateOfTTI": 6534, "optimisticTTI": 5792, "pessimisticTTI": 7275, "roughEstimateOfSI": 4026, "optimisticSI": 1120, "pessimisticSI": 4165, "roughEstimateOfLCP": 4962, "optimisticLCP": 4878, "pessimisticLCP": 5046, "roughEstimateOfTTFB": 716}, - {"url": "https://www.so-net.ne.jp/m/", "roughEstimateOfFCP": 4202, "optimisticFCP": 3225, "pessimisticFCP": 5179, "roughEstimateOfFMP": 4202, "optimisticFMP": 3225, "pessimisticFMP": 5179, "roughEstimateOfTTI": 9009, "optimisticTTI": 7027, "pessimisticTTI": 10991, "roughEstimateOfSI": 7822, "optimisticSI": 2439, "pessimisticSI": 7165, "roughEstimateOfLCP": 8061, "optimisticLCP": 6910, "pessimisticLCP": 9212, "roughEstimateOfTTFB": 612}, - {"url": "https://www.symantec.com/", "roughEstimateOfFCP": 3489, "optimisticFCP": 3303, "pessimisticFCP": 3675, "roughEstimateOfFMP": 3503, "optimisticFMP": 3303, "pessimisticFMP": 3703, "roughEstimateOfTTI": 11261, "optimisticTTI": 8694, "pessimisticTTI": 13829, "roughEstimateOfSI": 6927, "optimisticSI": 2165, "pessimisticSI": 6378, "roughEstimateOfLCP": 10068, "optimisticLCP": 8374, "pessimisticLCP": 11762, "roughEstimateOfTTFB": 666}, - {"url": "https://www.thestar.com.my/", "roughEstimateOfFCP": 3657, "optimisticFCP": 2259, "pessimisticFCP": 5056, "roughEstimateOfFMP": 3657, "optimisticFMP": 2259, "pessimisticFMP": 5056, "roughEstimateOfTTI": 23194, "optimisticTTI": 18899, "pessimisticTTI": 27489, "roughEstimateOfSI": 15121, "optimisticSI": 5315, "pessimisticSI": 12201, "roughEstimateOfLCP": 13838, "optimisticLCP": 12412, "pessimisticLCP": 15264, "roughEstimateOfTTFB": 979}, - {"url": "https://www.tianya.cn/m/", "roughEstimateOfFCP": 3505, "optimisticFCP": 3505, "pessimisticFCP": 3505, "roughEstimateOfFMP": 3577, "optimisticFMP": 3505, "pessimisticFMP": 3650, "roughEstimateOfTTI": 5341, "optimisticTTI": 5020, "pessimisticTTI": 5663, "roughEstimateOfSI": 14425, "optimisticSI": 8681, "pessimisticSI": 3880, "roughEstimateOfLCP": 7302, "optimisticLCP": 7050, "pessimisticLCP": 7555, "roughEstimateOfTTFB": 871}, - {"url": "https://www.torrentz.com/", "roughEstimateOfFCP": 817, "optimisticFCP": 817, "pessimisticFCP": 817, "roughEstimateOfFMP": 817, "optimisticFMP": 817, "pessimisticFMP": 817, "roughEstimateOfTTI": 817, "optimisticTTI": 817, "pessimisticTTI": 817, "roughEstimateOfSI": 863, "optimisticSI": 416, "pessimisticSI": 817, "roughEstimateOfLCP": 817, "optimisticLCP": 817, "pessimisticLCP": 817, "roughEstimateOfTTFB": 608}, - {"url": "https://www.tumblr.com/", "roughEstimateOfFCP": 2508, "optimisticFCP": 2508, "pessimisticFCP": 2508, "roughEstimateOfFMP": 2508, "optimisticFMP": 2508, "pessimisticFMP": 2508, "roughEstimateOfTTI": 9689, "optimisticTTI": 9611, "pessimisticTTI": 9767, "roughEstimateOfSI": 4128, "optimisticSI": 628, "pessimisticSI": 5382, "roughEstimateOfLCP": 8679, "optimisticLCP": 8679, "pessimisticLCP": 8679, "roughEstimateOfTTFB": 637}, - {"url": "https://www.twitpic.com/", "roughEstimateOfFCP": 835, "optimisticFCP": 835, "pessimisticFCP": 835, "roughEstimateOfFMP": 835, "optimisticFMP": 835, "pessimisticFMP": 835, "roughEstimateOfTTI": 835, "optimisticTTI": 835, "pessimisticTTI": 835, "roughEstimateOfSI": 835, "optimisticSI": 121, "pessimisticSI": 876, "roughEstimateOfLCP": 835, "optimisticLCP": 835, "pessimisticLCP": 835, "roughEstimateOfTTFB": 601}, - {"url": "https://www.typepad.com/", "roughEstimateOfFCP": 2610, "optimisticFCP": 2610, "pessimisticFCP": 2610, "roughEstimateOfFMP": 3295, "optimisticFMP": 3092, "pessimisticFMP": 3498, "roughEstimateOfTTI": 3617, "optimisticTTI": 3659, "pessimisticTTI": 3575, "roughEstimateOfSI": 3146, "optimisticSI": 1009, "pessimisticSI": 3051, "roughEstimateOfLCP": 6037, "optimisticLCP": 6118, "pessimisticLCP": 5957, "roughEstimateOfTTFB": 789}, - {"url": "https://www.verizonwireless.com/", "roughEstimateOfFCP": 2977, "optimisticFCP": 2977, "pessimisticFCP": 2977, "roughEstimateOfFMP": 4054, "optimisticFMP": 4054, "pessimisticFMP": 4054, "roughEstimateOfTTI": 22674, "optimisticTTI": 21238, "pessimisticTTI": 24110, "roughEstimateOfSI": 5968, "optimisticSI": 870, "pessimisticSI": 7692, "roughEstimateOfLCP": 7119, "optimisticLCP": 7119, "pessimisticLCP": 7119, "roughEstimateOfTTFB": 640}, - {"url": "https://www.vevo.com/", "roughEstimateOfFCP": 5291, "optimisticFCP": 5291, "pessimisticFCP": 5291, "roughEstimateOfFMP": 6391, "optimisticFMP": 5619, "pessimisticFMP": 7163, "roughEstimateOfTTI": 20206, "optimisticTTI": 18496, "pessimisticTTI": 21916, "roughEstimateOfSI": 13794, "optimisticSI": 6002, "pessimisticSI": 8679, "roughEstimateOfLCP": 8810, "optimisticLCP": 7814, "pessimisticLCP": 9807, "roughEstimateOfTTFB": 772}, - {"url": "https://www.wikipedia.org/", "roughEstimateOfFCP": 1458, "optimisticFCP": 1458, "pessimisticFCP": 1458, "roughEstimateOfFMP": 1472, "optimisticFMP": 1458, "pessimisticFMP": 1487, "roughEstimateOfTTI": 1731, "optimisticTTI": 1593, "pessimisticTTI": 1870, "roughEstimateOfSI": 1610, "optimisticSI": 579, "pessimisticSI": 1614, "roughEstimateOfLCP": 1472, "optimisticLCP": 1458, "pessimisticLCP": 1487, "roughEstimateOfTTFB": 603}, - {"url": "https://www8.hp.com/us/en/home.html", "roughEstimateOfFCP": 4720, "optimisticFCP": 3373, "pessimisticFCP": 6068, "roughEstimateOfFMP": 6679, "optimisticFMP": 4995, "pessimisticFMP": 8364, "roughEstimateOfTTI": 22072, "optimisticTTI": 18600, "pessimisticTTI": 25543, "roughEstimateOfSI": 13346, "optimisticSI": 3856, "pessimisticSI": 12611, "roughEstimateOfLCP": 10807, "optimisticLCP": 10807, "pessimisticLCP": 10807, "roughEstimateOfTTFB": 612} + {"url": "http://2011hana-animals.blogspot.com/", "roughEstimateOfFCP": 2626, "optimisticFCP": 2626, "pessimisticFCP": 2626, "roughEstimateOfFMP": 2626, "optimisticFMP": 2626, "pessimisticFMP": 2626, "roughEstimateOfTTI": 2626, "optimisticTTI": 2626, "pessimisticTTI": 2626, "roughEstimateOfSI": 5471, "optimisticSI": 2867, "pessimisticSI": 2626, "roughEstimateOfLCP": 3399, "optimisticLCP": 3399, "pessimisticLCP": 3399, "roughEstimateOfTTFB": 877, "roughEstimateOfLCPLoadStart": 2331, "roughEstimateOfLCPLoadEnd": 3381}, + {"url": "http://blog.darom.com.br/", "roughEstimateOfFCP": 4224, "optimisticFCP": 4224, "pessimisticFCP": 4224, "roughEstimateOfFMP": 4224, "optimisticFMP": 4224, "pessimisticFMP": 4224, "roughEstimateOfTTI": 4224, "optimisticTTI": 4224, "pessimisticTTI": 4224, "roughEstimateOfSI": 7079, "optimisticSI": 2984, "pessimisticSI": 4849, "roughEstimateOfLCP": 4924, "optimisticLCP": 4924, "pessimisticLCP": 4924, "roughEstimateOfTTFB": 1462, "roughEstimateOfLCPLoadStart": 3258, "roughEstimateOfLCPLoadEnd": 4728}, + {"url": "http://buckeyebroadband.speedtestcustom.com/", "roughEstimateOfFCP": 4533, "optimisticFCP": 4533, "pessimisticFCP": 4533, "roughEstimateOfFMP": 4665, "optimisticFMP": 4533, "pessimisticFMP": 4796, "roughEstimateOfTTI": 4796, "optimisticTTI": 4796, "pessimisticTTI": 4796, "roughEstimateOfSI": 6552, "optimisticSI": 2649, "pessimisticSI": 4760, "roughEstimateOfLCP": 4796, "optimisticLCP": 4796, "pessimisticLCP": 4796, "roughEstimateOfTTFB": 481, "roughEstimateOfLCPLoadStart": 4060, "roughEstimateOfLCPLoadEnd": 4306}, + {"url": "http://christinastrologynow.com/", "roughEstimateOfFCP": 2350, "optimisticFCP": 2350, "pessimisticFCP": 2350, "roughEstimateOfFMP": 2350, "optimisticFMP": 2350, "pessimisticFMP": 2350, "roughEstimateOfTTI": 3935, "optimisticTTI": 3159, "pessimisticTTI": 4712, "roughEstimateOfSI": 8842, "optimisticSI": 5123, "pessimisticSI": 2953, "roughEstimateOfLCP": 2642, "optimisticLCP": 2642, "pessimisticLCP": 2642, "roughEstimateOfTTFB": 4456}, + {"url": "http://cis5rs.com.br/", "roughEstimateOfFCP": 4618, "optimisticFCP": 4618, "pessimisticFCP": 4618, "roughEstimateOfFMP": 4618, "optimisticFMP": 4618, "pessimisticFMP": 4618, "roughEstimateOfTTI": 15490, "optimisticTTI": 8520, "pessimisticTTI": 22460, "roughEstimateOfSI": 9167, "optimisticSI": 3527, "pessimisticSI": 6890, "roughEstimateOfLCP": 12432, "optimisticLCP": 12057, "pessimisticLCP": 12807, "roughEstimateOfTTFB": 722, "roughEstimateOfLCPLoadStart": 10168, "roughEstimateOfLCPLoadEnd": 11835}, + {"url": "http://citymirrornews.com/", "roughEstimateOfFCP": 4336, "optimisticFCP": 4184, "pessimisticFCP": 4487, "roughEstimateOfFMP": 4336, "optimisticFMP": 4184, "pessimisticFMP": 4487, "roughEstimateOfTTI": 8116, "optimisticTTI": 7196, "pessimisticTTI": 9037, "roughEstimateOfSI": 7358, "optimisticSI": 1469, "pessimisticSI": 8542, "roughEstimateOfLCP": 5476, "optimisticLCP": 5476, "pessimisticLCP": 5476, "roughEstimateOfTTFB": 968, "roughEstimateOfLCPLoadStart": 4018, "roughEstimateOfLCPLoadEnd": 4414}, + {"url": "http://exponatial.blogspot.com/", "roughEstimateOfFCP": 2949, "optimisticFCP": 2949, "pessimisticFCP": 2949, "roughEstimateOfFMP": 4960, "optimisticFMP": 4883, "pessimisticFMP": 5037, "roughEstimateOfTTI": 6021, "optimisticTTI": 5465, "pessimisticTTI": 6577, "roughEstimateOfSI": 3968, "optimisticSI": 799, "pessimisticSI": 4769, "roughEstimateOfLCP": 4434, "optimisticLCP": 4434, "pessimisticLCP": 4434, "roughEstimateOfTTFB": 503, "roughEstimateOfLCPLoadStart": 1726, "roughEstimateOfLCPLoadEnd": 2009}, + {"url": "http://famaconsa.com/", "roughEstimateOfFCP": 1028, "optimisticFCP": 1028, "pessimisticFCP": 1028, "roughEstimateOfFMP": 1028, "optimisticFMP": 1028, "pessimisticFMP": 1028, "roughEstimateOfTTI": 3565, "optimisticTTI": 3340, "pessimisticTTI": 3790, "roughEstimateOfSI": 1469, "optimisticSI": 750, "pessimisticSI": 1028, "roughEstimateOfLCP": 4257, "optimisticLCP": 4107, "pessimisticLCP": 4407, "roughEstimateOfTTFB": 467, "roughEstimateOfLCPLoadStart": 1683, "roughEstimateOfLCPLoadEnd": 4182}, + {"url": "http://g-salam-arbitrajnikam-w53.fun/", "roughEstimateOfFCP": 786, "optimisticFCP": 786, "pessimisticFCP": 786, "roughEstimateOfFMP": 786, "optimisticFMP": 786, "pessimisticFMP": 786, "roughEstimateOfTTI": 786, "optimisticTTI": 786, "pessimisticTTI": 786, "roughEstimateOfSI": 1205, "optimisticSI": 674, "pessimisticSI": 786, "roughEstimateOfLCP": 786, "optimisticLCP": 786, "pessimisticLCP": 786, "roughEstimateOfTTFB": 672}, + {"url": "http://hakimemehr.ir/", "roughEstimateOfFCP": 2566, "optimisticFCP": 2566, "pessimisticFCP": 2566, "roughEstimateOfFMP": 2566, "optimisticFMP": 2566, "pessimisticFMP": 2566, "roughEstimateOfTTI": 3067, "optimisticTTI": 2566, "pessimisticTTI": 3569, "roughEstimateOfSI": 6185, "optimisticSI": 3405, "pessimisticSI": 2566, "roughEstimateOfLCP": 4168, "optimisticLCP": 4168, "pessimisticLCP": 4168, "roughEstimateOfTTFB": 719, "roughEstimateOfLCPLoadStart": 2637, "roughEstimateOfLCPLoadEnd": 4099}, + {"url": "http://kirsehir.tsf.org.tr/", "roughEstimateOfFCP": 2922, "optimisticFCP": 2040, "pessimisticFCP": 3804, "roughEstimateOfFMP": 2922, "optimisticFMP": 2040, "pessimisticFMP": 3804, "roughEstimateOfTTI": 2922, "optimisticTTI": 2040, "pessimisticTTI": 3804, "roughEstimateOfSI": 6130, "optimisticSI": 2791, "pessimisticSI": 3804, "roughEstimateOfLCP": 4895, "optimisticLCP": 3390, "pessimisticLCP": 6399, "roughEstimateOfTTFB": 588, "roughEstimateOfLCPLoadStart": 2250, "roughEstimateOfLCPLoadEnd": 4868}, + {"url": "http://kottayamcheriapally.com/", "roughEstimateOfFCP": 14827, "optimisticFCP": 14827, "pessimisticFCP": 14827, "roughEstimateOfFMP": 14827, "optimisticFMP": 14827, "pessimisticFMP": 14827, "roughEstimateOfTTI": 14827, "optimisticTTI": 14827, "pessimisticTTI": 14827, "roughEstimateOfSI": 14827, "optimisticSI": 3023, "pessimisticSI": 14827, "roughEstimateOfLCP": 25139, "optimisticLCP": 20073, "pessimisticLCP": 30205, "roughEstimateOfTTFB": 453, "roughEstimateOfLCPLoadStart": 16350, "roughEstimateOfLCPLoadEnd": 17256}, + {"url": "http://lisans.cozum.info.tr/", "roughEstimateOfFCP": 3108, "optimisticFCP": 3108, "pessimisticFCP": 3108, "roughEstimateOfFMP": 3113, "optimisticFMP": 3108, "pessimisticFMP": 3118, "roughEstimateOfTTI": 3214, "optimisticTTI": 3108, "pessimisticTTI": 3320, "roughEstimateOfSI": 3108, "optimisticSI": 701, "pessimisticSI": 3378, "roughEstimateOfLCP": 3223, "optimisticLCP": 3215, "pessimisticLCP": 3232, "roughEstimateOfTTFB": 459}, + {"url": "http://m.dongsung.org/", "roughEstimateOfFCP": 8218, "optimisticFCP": 8143, "pessimisticFCP": 8294, "roughEstimateOfFMP": 8218, "optimisticFMP": 8143, "pessimisticFMP": 8294, "roughEstimateOfTTI": 8218, "optimisticTTI": 8143, "pessimisticTTI": 8294, "roughEstimateOfSI": 8218, "optimisticSI": 1800, "pessimisticSI": 8796, "roughEstimateOfLCP": 9505, "optimisticLCP": 9202, "pessimisticLCP": 9807, "roughEstimateOfTTFB": 459, "roughEstimateOfLCPLoadStart": 5671, "roughEstimateOfLCPLoadEnd": 9263}, + {"url": "http://m.iciba.com", "roughEstimateOfFCP": 1340, "optimisticFCP": 1340, "pessimisticFCP": 1340, "roughEstimateOfFMP": 1340, "optimisticFMP": 1340, "pessimisticFMP": 1340, "roughEstimateOfTTI": 3546, "optimisticTTI": 3081, "pessimisticTTI": 4011, "roughEstimateOfSI": 6787, "optimisticSI": 3750, "pessimisticSI": 2750, "roughEstimateOfLCP": 1398, "optimisticLCP": 1340, "pessimisticLCP": 1455, "roughEstimateOfTTFB": 997, "roughEstimateOfLCPLoadStart": 997, "roughEstimateOfLCPLoadEnd": 1324}, + {"url": "http://mamacitatube.com/", "roughEstimateOfFCP": 2403, "optimisticFCP": 2403, "pessimisticFCP": 2403, "roughEstimateOfFMP": 2942, "optimisticFMP": 2942, "pessimisticFMP": 2942, "roughEstimateOfTTI": 5193, "optimisticTTI": 3939, "pessimisticTTI": 6447, "roughEstimateOfSI": 3463, "optimisticSI": 1536, "pessimisticSI": 2403, "roughEstimateOfLCP": 3621, "optimisticLCP": 3573, "pessimisticLCP": 3669, "roughEstimateOfTTFB": 451, "roughEstimateOfLCPLoadStart": 2365, "roughEstimateOfLCPLoadEnd": 3141}, + {"url": "http://metaplatform.biz/", "roughEstimateOfFCP": 6298, "optimisticFCP": 5334, "pessimisticFCP": 7262, "roughEstimateOfFMP": 6298, "optimisticFMP": 5334, "pessimisticFMP": 7262, "roughEstimateOfTTI": 9582, "optimisticTTI": 8861, "pessimisticTTI": 10304, "roughEstimateOfSI": 7264, "optimisticSI": 1421, "pessimisticSI": 8501, "roughEstimateOfLCP": 6298, "optimisticLCP": 5334, "pessimisticLCP": 7262, "roughEstimateOfTTFB": 695}, + {"url": "http://mokhtaralbukhary.blogspot.com/", "roughEstimateOfFCP": 1617, "optimisticFCP": 1542, "pessimisticFCP": 1692, "roughEstimateOfFMP": 1617, "optimisticFMP": 1542, "pessimisticFMP": 1692, "roughEstimateOfTTI": 1617, "optimisticTTI": 1542, "pessimisticTTI": 1692, "roughEstimateOfSI": 1617, "optimisticSI": 196, "pessimisticSI": 1692, "roughEstimateOfLCP": 2442, "optimisticLCP": 2442, "pessimisticLCP": 2442, "roughEstimateOfTTFB": 465}, + {"url": "http://msdsolution.in/", "roughEstimateOfFCP": 3798, "optimisticFCP": 3798, "pessimisticFCP": 3798, "roughEstimateOfFMP": 4534, "optimisticFMP": 4534, "pessimisticFMP": 4534, "roughEstimateOfTTI": 9714, "optimisticTTI": 5859, "pessimisticTTI": 13568, "roughEstimateOfSI": 10681, "optimisticSI": 3805, "pessimisticSI": 8621, "roughEstimateOfLCP": 13527, "optimisticLCP": 13158, "pessimisticLCP": 13895, "roughEstimateOfTTFB": 450, "roughEstimateOfLCPLoadStart": 8600, "roughEstimateOfLCPLoadEnd": 10727}, + {"url": "http://pagerankcafe.com/", "roughEstimateOfFCP": 2493, "optimisticFCP": 1933, "pessimisticFCP": 3053, "roughEstimateOfFMP": 2493, "optimisticFMP": 1933, "pessimisticFMP": 3053, "roughEstimateOfTTI": 5490, "optimisticTTI": 4284, "pessimisticTTI": 6696, "roughEstimateOfSI": 5966, "optimisticSI": 2565, "pessimisticSI": 4038, "roughEstimateOfLCP": 6173, "optimisticLCP": 5106, "pessimisticLCP": 7240, "roughEstimateOfTTFB": 1561}, + {"url": "http://pwa.shipin.ir/", "roughEstimateOfFCP": 1729, "optimisticFCP": 1543, "pessimisticFCP": 1915, "roughEstimateOfFMP": 1729, "optimisticFMP": 1543, "pessimisticFMP": 1915, "roughEstimateOfTTI": 1729, "optimisticTTI": 1543, "pessimisticTTI": 1915, "roughEstimateOfSI": 2832, "optimisticSI": 1313, "pessimisticSI": 1915, "roughEstimateOfLCP": 2276, "optimisticLCP": 2008, "pessimisticLCP": 2544, "roughEstimateOfTTFB": 714}, + {"url": "http://restauranteazul.menusqr.info/", "roughEstimateOfFCP": 3010, "optimisticFCP": 3010, "pessimisticFCP": 3011, "roughEstimateOfFMP": 3010, "optimisticFMP": 3010, "pessimisticFMP": 3011, "roughEstimateOfTTI": 3066, "optimisticTTI": 3010, "pessimisticTTI": 3123, "roughEstimateOfSI": 3345, "optimisticSI": 520, "pessimisticSI": 4410, "roughEstimateOfLCP": 3385, "optimisticLCP": 3160, "pessimisticLCP": 3611, "roughEstimateOfTTFB": 451, "roughEstimateOfLCPLoadStart": 1737, "roughEstimateOfLCPLoadEnd": 2720}, + {"url": "http://rezervacija.studijaom.lt/", "roughEstimateOfFCP": 3803, "optimisticFCP": 3803, "pessimisticFCP": 3803, "roughEstimateOfFMP": 3803, "optimisticFMP": 3803, "pessimisticFMP": 3803, "roughEstimateOfTTI": 3803, "optimisticTTI": 3803, "pessimisticTTI": 3803, "roughEstimateOfSI": 4913, "optimisticSI": 1922, "pessimisticSI": 3803, "roughEstimateOfLCP": 4853, "optimisticLCP": 4853, "pessimisticLCP": 4853, "roughEstimateOfTTFB": 1065, "roughEstimateOfLCPLoadStart": 3417, "roughEstimateOfLCPLoadEnd": 4776}, + {"url": "http://rubistar.4teachers.org/", "roughEstimateOfFCP": 6855, "optimisticFCP": 6468, "pessimisticFCP": 7242, "roughEstimateOfFMP": 6936, "optimisticFMP": 6468, "pessimisticFMP": 7405, "roughEstimateOfTTI": 7409, "optimisticTTI": 6468, "pessimisticTTI": 8350, "roughEstimateOfSI": 6855, "optimisticSI": 1053, "pessimisticSI": 7242, "roughEstimateOfLCP": 9491, "optimisticLCP": 9256, "pessimisticLCP": 9726, "roughEstimateOfTTFB": 452}, + {"url": "http://sedim.dyndns.org/", "roughEstimateOfFCP": 3048, "optimisticFCP": 2445, "pessimisticFCP": 3651, "roughEstimateOfFMP": 3048, "optimisticFMP": 2445, "pessimisticFMP": 3651, "roughEstimateOfTTI": 3902, "optimisticTTI": 3130, "pessimisticTTI": 4675, "roughEstimateOfSI": 3786, "optimisticSI": 1188, "pessimisticSI": 3651, "roughEstimateOfLCP": 3048, "optimisticLCP": 2445, "pessimisticLCP": 3651, "roughEstimateOfTTFB": 453}, + {"url": "http://sodemar.net/", "roughEstimateOfFCP": 4890, "optimisticFCP": 4832, "pessimisticFCP": 4947, "roughEstimateOfFMP": 4890, "optimisticFMP": 4832, "pessimisticFMP": 4947, "roughEstimateOfTTI": 4890, "optimisticTTI": 4832, "pessimisticTTI": 4947, "roughEstimateOfSI": 5908, "optimisticSI": 2005, "pessimisticSI": 5155, "roughEstimateOfLCP": 6987, "optimisticLCP": 6987, "pessimisticLCP": 6987, "roughEstimateOfTTFB": 805, "roughEstimateOfLCPLoadStart": 3221, "roughEstimateOfLCPLoadEnd": 6866}, + {"url": "http://souvenirchronicles.blogspot.com/", "roughEstimateOfFCP": 1636, "optimisticFCP": 1556, "pessimisticFCP": 1715, "roughEstimateOfFMP": 1636, "optimisticFMP": 1556, "pessimisticFMP": 1715, "roughEstimateOfTTI": 1636, "optimisticTTI": 1556, "pessimisticTTI": 1715, "roughEstimateOfSI": 1636, "optimisticSI": 183, "pessimisticSI": 1715, "roughEstimateOfLCP": 2190, "optimisticLCP": 2190, "pessimisticLCP": 2190, "roughEstimateOfTTFB": 464, "roughEstimateOfLCPLoadStart": 771, "roughEstimateOfLCPLoadEnd": 980}, + {"url": "http://takeno.iee.niit.ac.jp/", "roughEstimateOfFCP": 966, "optimisticFCP": 966, "pessimisticFCP": 966, "roughEstimateOfFMP": 978, "optimisticFMP": 966, "pessimisticFMP": 989, "roughEstimateOfTTI": 978, "optimisticTTI": 966, "pessimisticTTI": 989, "roughEstimateOfSI": 1087, "optimisticSI": 503, "pessimisticSI": 974, "roughEstimateOfLCP": 978, "optimisticLCP": 966, "pessimisticLCP": 989, "roughEstimateOfTTFB": 457}, + {"url": "http://talesgubes.com/", "roughEstimateOfFCP": 3259, "optimisticFCP": 3259, "pessimisticFCP": 3259, "roughEstimateOfFMP": 3259, "optimisticFMP": 3259, "pessimisticFMP": 3259, "roughEstimateOfTTI": 6358, "optimisticTTI": 6123, "pessimisticTTI": 6593, "roughEstimateOfSI": 3489, "optimisticSI": 720, "pessimisticSI": 4201, "roughEstimateOfLCP": 4778, "optimisticLCP": 4778, "pessimisticLCP": 4778, "roughEstimateOfTTFB": 452}, + {"url": "http://tarjomehrooz.com/", "roughEstimateOfFCP": 3913, "optimisticFCP": 3912, "pessimisticFCP": 3914, "roughEstimateOfFMP": 3913, "optimisticFMP": 3912, "pessimisticFMP": 3914, "roughEstimateOfTTI": 3913, "optimisticTTI": 3912, "pessimisticTTI": 3914, "roughEstimateOfSI": 4881, "optimisticSI": 1794, "pessimisticSI": 4029, "roughEstimateOfLCP": 4702, "optimisticLCP": 4702, "pessimisticLCP": 4702, "roughEstimateOfTTFB": 614, "roughEstimateOfLCPLoadStart": 3344, "roughEstimateOfLCPLoadEnd": 4195}, + {"url": "http://tohin.ac.jp/", "roughEstimateOfFCP": 9447, "optimisticFCP": 9447, "pessimisticFCP": 9447, "roughEstimateOfFMP": 9447, "optimisticFMP": 9447, "pessimisticFMP": 9447, "roughEstimateOfTTI": 9447, "optimisticTTI": 9447, "pessimisticTTI": 9447, "roughEstimateOfSI": 9447, "optimisticSI": 2045, "pessimisticSI": 9447, "roughEstimateOfLCP": 17847, "optimisticLCP": 16787, "pessimisticLCP": 18908, "roughEstimateOfTTFB": 459, "roughEstimateOfLCPLoadStart": 13911, "roughEstimateOfLCPLoadEnd": 17647}, + {"url": "http://www.71935.net/", "roughEstimateOfFCP": 1808, "optimisticFCP": 1804, "pessimisticFCP": 1813, "roughEstimateOfFMP": 1808, "optimisticFMP": 1804, "pessimisticFMP": 1813, "roughEstimateOfTTI": 1808, "optimisticTTI": 1804, "pessimisticTTI": 1813, "roughEstimateOfSI": 1808, "optimisticSI": 532, "pessimisticSI": 1813, "roughEstimateOfLCP": 2642, "optimisticLCP": 2254, "pessimisticLCP": 3030, "roughEstimateOfTTFB": 452}, + {"url": "http://www.ambrosiasuitesathens.com/", "roughEstimateOfFCP": 1637, "optimisticFCP": 1469, "pessimisticFCP": 1805, "roughEstimateOfFMP": 2039, "optimisticFMP": 1780, "pessimisticFMP": 2298, "roughEstimateOfTTI": 3954, "optimisticTTI": 3712, "pessimisticTTI": 4195, "roughEstimateOfSI": 1637, "optimisticSI": 243, "pessimisticSI": 2363, "roughEstimateOfLCP": 2643, "optimisticLCP": 2354, "pessimisticLCP": 2931, "roughEstimateOfTTFB": 463, "roughEstimateOfLCPLoadStart": 1396, "roughEstimateOfLCPLoadEnd": 2054}, + {"url": "http://www.athletics.kusu.kyoto-u.ac.jp/", "roughEstimateOfFCP": 5724, "optimisticFCP": 5722, "pessimisticFCP": 5727, "roughEstimateOfFMP": 5724, "optimisticFMP": 5722, "pessimisticFMP": 5727, "roughEstimateOfTTI": 6453, "optimisticTTI": 5722, "pessimisticTTI": 7184, "roughEstimateOfSI": 7890, "optimisticSI": 3058, "pessimisticSI": 5937, "roughEstimateOfLCP": 14935, "optimisticLCP": 14790, "pessimisticLCP": 15079, "roughEstimateOfTTFB": 458, "roughEstimateOfLCPLoadStart": 1416, "roughEstimateOfLCPLoadEnd": 14832}, + {"url": "http://www.beatlesvinyl.com/", "roughEstimateOfFCP": 644, "optimisticFCP": 644, "pessimisticFCP": 644, "roughEstimateOfFMP": 644, "optimisticFMP": 644, "pessimisticFMP": 644, "roughEstimateOfTTI": 644, "optimisticTTI": 644, "pessimisticTTI": 644, "roughEstimateOfSI": 644, "optimisticSI": 336, "pessimisticSI": 644, "roughEstimateOfLCP": 770, "optimisticLCP": 770, "pessimisticLCP": 770, "roughEstimateOfTTFB": 460, "roughEstimateOfLCPLoadStart": 460, "roughEstimateOfLCPLoadEnd": 729}, + {"url": "http://www.cmkosemen.com/", "roughEstimateOfFCP": 679, "optimisticFCP": 679, "pessimisticFCP": 679, "roughEstimateOfFMP": 679, "optimisticFMP": 679, "pessimisticFMP": 679, "roughEstimateOfTTI": 1172, "optimisticTTI": 1149, "pessimisticTTI": 1196, "roughEstimateOfSI": 966, "optimisticSI": 553, "pessimisticSI": 679, "roughEstimateOfLCP": 4760, "optimisticLCP": 3664, "pessimisticLCP": 5856, "roughEstimateOfTTFB": 482, "roughEstimateOfLCPLoadStart": 1128, "roughEstimateOfLCPLoadEnd": 4212}, + {"url": "http://www.dariuszowczarek.com/", "roughEstimateOfFCP": 4902, "optimisticFCP": 4827, "pessimisticFCP": 4977, "roughEstimateOfFMP": 4929, "optimisticFMP": 4827, "pessimisticFMP": 5032, "roughEstimateOfTTI": 5850, "optimisticTTI": 4868, "pessimisticTTI": 6832, "roughEstimateOfSI": 8316, "optimisticSI": 3117, "pessimisticSI": 6464, "roughEstimateOfLCP": 15463, "optimisticLCP": 10663, "pessimisticLCP": 20263, "roughEstimateOfTTFB": 454, "roughEstimateOfLCPLoadStart": 6061, "roughEstimateOfLCPLoadEnd": 10639}, + {"url": "http://www.dive-exuma.com/", "roughEstimateOfFCP": 3766, "optimisticFCP": 2474, "pessimisticFCP": 5058, "roughEstimateOfFMP": 3766, "optimisticFMP": 2474, "pessimisticFMP": 5058, "roughEstimateOfTTI": 8211, "optimisticTTI": 4703, "pessimisticTTI": 11719, "roughEstimateOfSI": 12899, "optimisticSI": 5369, "pessimisticSI": 8665, "roughEstimateOfLCP": 5403, "optimisticLCP": 3949, "pessimisticLCP": 6858, "roughEstimateOfTTFB": 4352, "roughEstimateOfLCPLoadStart": 5128, "roughEstimateOfLCPLoadEnd": 5372}, + {"url": "http://www.eccellenzacalcio.it/", "roughEstimateOfFCP": 1308, "optimisticFCP": 1230, "pessimisticFCP": 1386, "roughEstimateOfFMP": 1308, "optimisticFMP": 1230, "pessimisticFMP": 1386, "roughEstimateOfTTI": 1308, "optimisticTTI": 1230, "pessimisticTTI": 1386, "roughEstimateOfSI": 4021, "optimisticSI": 2363, "pessimisticSI": 1480, "roughEstimateOfLCP": 5593, "optimisticLCP": 4810, "pessimisticLCP": 6375, "roughEstimateOfTTFB": 453, "roughEstimateOfLCPLoadStart": 3171, "roughEstimateOfLCPLoadEnd": 5503}, + {"url": "http://www.espis.de/", "roughEstimateOfFCP": 1002, "optimisticFCP": 1002, "pessimisticFCP": 1002, "roughEstimateOfFMP": 1002, "optimisticFMP": 1002, "pessimisticFMP": 1002, "roughEstimateOfTTI": 1086, "optimisticTTI": 1032, "pessimisticTTI": 1139, "roughEstimateOfSI": 2711, "optimisticSI": 1605, "pessimisticSI": 1098, "roughEstimateOfLCP": 1002, "optimisticLCP": 1002, "pessimisticLCP": 1002, "roughEstimateOfTTFB": 459}, + {"url": "http://www.event-ak.com/", "roughEstimateOfFCP": 1054, "optimisticFCP": 1054, "pessimisticFCP": 1054, "roughEstimateOfFMP": 1054, "optimisticFMP": 1054, "pessimisticFMP": 1054, "roughEstimateOfTTI": 1054, "optimisticTTI": 1054, "pessimisticTTI": 1054, "roughEstimateOfSI": 1487, "optimisticSI": 751, "pessimisticSI": 1054, "roughEstimateOfLCP": 1054, "optimisticLCP": 1054, "pessimisticLCP": 1054, "roughEstimateOfTTFB": 452}, + {"url": "http://www.helioziskind.com.br/", "roughEstimateOfFCP": 2951, "optimisticFCP": 2951, "pessimisticFCP": 2951, "roughEstimateOfFMP": 2951, "optimisticFMP": 2951, "pessimisticFMP": 2951, "roughEstimateOfTTI": 8303, "optimisticTTI": 5255, "pessimisticTTI": 11351, "roughEstimateOfSI": 8357, "optimisticSI": 4343, "pessimisticSI": 3888, "roughEstimateOfLCP": 5947, "optimisticLCP": 5616, "pessimisticLCP": 6278, "roughEstimateOfTTFB": 582, "roughEstimateOfLCPLoadStart": 2378, "roughEstimateOfLCPLoadEnd": 5924}, + {"url": "http://www.homoeopathieinformation.at/", "roughEstimateOfFCP": 1227, "optimisticFCP": 1227, "pessimisticFCP": 1227, "roughEstimateOfFMP": 1227, "optimisticFMP": 1227, "pessimisticFMP": 1227, "roughEstimateOfTTI": 3933, "optimisticTTI": 3698, "pessimisticTTI": 4168, "roughEstimateOfSI": 2527, "optimisticSI": 707, "pessimisticSI": 2748, "roughEstimateOfLCP": 1875, "optimisticLCP": 1875, "pessimisticLCP": 1875, "roughEstimateOfTTFB": 458}, + {"url": "http://www.lucchetta-abbigliamento.com/", "roughEstimateOfFCP": 4837, "optimisticFCP": 2749, "pessimisticFCP": 6926, "roughEstimateOfFMP": 5004, "optimisticFMP": 2749, "pessimisticFMP": 7259, "roughEstimateOfTTI": 5004, "optimisticTTI": 2749, "pessimisticTTI": 7259, "roughEstimateOfSI": 10014, "optimisticSI": 3093, "pessimisticSI": 9130, "roughEstimateOfLCP": 6925, "optimisticLCP": 3309, "pessimisticLCP": 10542, "roughEstimateOfTTFB": 700}, + {"url": "http://www.nankingchinesecuisine.com/", "roughEstimateOfFCP": 2619, "optimisticFCP": 2619, "pessimisticFCP": 2619, "roughEstimateOfFMP": 2619, "optimisticFMP": 2619, "pessimisticFMP": 2619, "roughEstimateOfTTI": 2619, "optimisticTTI": 2619, "pessimisticTTI": 2619, "roughEstimateOfSI": 4487, "optimisticSI": 2167, "pessimisticSI": 2619, "roughEstimateOfLCP": 9734, "optimisticLCP": 9622, "pessimisticLCP": 9847, "roughEstimateOfTTFB": 461, "roughEstimateOfLCPLoadStart": 700, "roughEstimateOfLCPLoadEnd": 906}, + {"url": "http://www.revue-silene.com/", "roughEstimateOfFCP": 1407, "optimisticFCP": 1407, "pessimisticFCP": 1407, "roughEstimateOfFMP": 1407, "optimisticFMP": 1407, "pessimisticFMP": 1407, "roughEstimateOfTTI": 1407, "optimisticTTI": 1407, "pessimisticTTI": 1407, "roughEstimateOfSI": 2679, "optimisticSI": 1439, "pessimisticSI": 1407, "roughEstimateOfLCP": 4488, "optimisticLCP": 4304, "pessimisticLCP": 4672, "roughEstimateOfTTFB": 881, "roughEstimateOfLCPLoadStart": 2074, "roughEstimateOfLCPLoadEnd": 4405}, + {"url": "http://www.slist.kr/", "roughEstimateOfFCP": 5034, "optimisticFCP": 5034, "pessimisticFCP": 5034, "roughEstimateOfFMP": 5034, "optimisticFMP": 5034, "pessimisticFMP": 5034, "roughEstimateOfTTI": 15650, "optimisticTTI": 11410, "pessimisticTTI": 19891, "roughEstimateOfSI": 7758, "optimisticSI": 2304, "pessimisticSI": 7357, "roughEstimateOfLCP": 15285, "optimisticLCP": 13699, "pessimisticLCP": 16870, "roughEstimateOfTTFB": 458, "roughEstimateOfLCPLoadStart": 10212, "roughEstimateOfLCPLoadEnd": 15100}, + {"url": "http://www.superlinda.com/", "roughEstimateOfFCP": 1627, "optimisticFCP": 1552, "pessimisticFCP": 1703, "roughEstimateOfFMP": 1627, "optimisticFMP": 1552, "pessimisticFMP": 1703, "roughEstimateOfTTI": 1627, "optimisticTTI": 1552, "pessimisticTTI": 1703, "roughEstimateOfSI": 1627, "optimisticSI": 322, "pessimisticSI": 1703, "roughEstimateOfLCP": 2378, "optimisticLCP": 2303, "pessimisticLCP": 2453, "roughEstimateOfTTFB": 468, "roughEstimateOfLCPLoadStart": 1162, "roughEstimateOfLCPLoadEnd": 1546}, + {"url": "http://www.turkoglugundem.com/", "roughEstimateOfFCP": 1719, "optimisticFCP": 1719, "pessimisticFCP": 1719, "roughEstimateOfFMP": 1719, "optimisticFMP": 1719, "pessimisticFMP": 1719, "roughEstimateOfTTI": 5152, "optimisticTTI": 3198, "pessimisticTTI": 7107, "roughEstimateOfSI": 5755, "optimisticSI": 2925, "pessimisticSI": 2938, "roughEstimateOfLCP": 6330, "optimisticLCP": 4197, "pessimisticLCP": 8463, "roughEstimateOfTTFB": 711, "roughEstimateOfLCPLoadStart": 4537, "roughEstimateOfLCPLoadEnd": 6241}, + {"url": "http://www.us1autoparts.com/", "roughEstimateOfFCP": 1297, "optimisticFCP": 1297, "pessimisticFCP": 1297, "roughEstimateOfFMP": 1297, "optimisticFMP": 1297, "pessimisticFMP": 1297, "roughEstimateOfTTI": 1297, "optimisticTTI": 1297, "pessimisticTTI": 1297, "roughEstimateOfSI": 1297, "optimisticSI": 391, "pessimisticSI": 1297, "roughEstimateOfLCP": 4859, "optimisticLCP": 4480, "pessimisticLCP": 5238, "roughEstimateOfTTFB": 517, "roughEstimateOfLCPLoadStart": 1127, "roughEstimateOfLCPLoadEnd": 4649}, + {"url": "http://www.varillerosacabollos.com/", "roughEstimateOfFCP": 3908, "optimisticFCP": 3295, "pessimisticFCP": 4521, "roughEstimateOfFMP": 8819, "optimisticFMP": 8440, "pessimisticFMP": 9197, "roughEstimateOfTTI": 8819, "optimisticTTI": 8440, "pessimisticTTI": 9197, "roughEstimateOfSI": 3908, "optimisticSI": 583, "pessimisticSI": 4556, "roughEstimateOfLCP": 6100, "optimisticLCP": 4724, "pessimisticLCP": 7475, "roughEstimateOfTTFB": 451, "roughEstimateOfLCPLoadStart": 3396, "roughEstimateOfLCPLoadEnd": 4007}, + {"url": "http://www.yayasanponpes-abumanshur.com/", "roughEstimateOfFCP": 2262, "optimisticFCP": 2262, "pessimisticFCP": 2262, "roughEstimateOfFMP": 3003, "optimisticFMP": 3003, "pessimisticFMP": 3003, "roughEstimateOfTTI": 17498, "optimisticTTI": 8703, "pessimisticTTI": 26293, "roughEstimateOfSI": 8175, "optimisticSI": 1266, "pessimisticSI": 10234, "roughEstimateOfLCP": 12537, "optimisticLCP": 12612, "pessimisticLCP": 12462, "roughEstimateOfTTFB": 493, "roughEstimateOfLCPLoadStart": 8499, "roughEstimateOfLCPLoadEnd": 10428}, + {"url": "http://xn--19-glc1ck.xn--p1ai/", "roughEstimateOfFCP": 2949, "optimisticFCP": 2328, "pessimisticFCP": 3570, "roughEstimateOfFMP": 6918, "optimisticFMP": 5788, "pessimisticFMP": 8048, "roughEstimateOfTTI": 6979, "optimisticTTI": 5910, "pessimisticTTI": 8048, "roughEstimateOfSI": 5086, "optimisticSI": 2154, "pessimisticSI": 3570, "roughEstimateOfLCP": 18864, "optimisticLCP": 12567, "pessimisticLCP": 25161, "roughEstimateOfTTFB": 450, "roughEstimateOfLCPLoadStart": 7254, "roughEstimateOfLCPLoadEnd": 18515}, + {"url": "https://19032.mitemin.net/", "roughEstimateOfFCP": 2629, "optimisticFCP": 2629, "pessimisticFCP": 2629, "roughEstimateOfFMP": 2629, "optimisticFMP": 2629, "pessimisticFMP": 2629, "roughEstimateOfTTI": 5630, "optimisticTTI": 5328, "pessimisticTTI": 5932, "roughEstimateOfSI": 4929, "optimisticSI": 1966, "pessimisticSI": 3733, "roughEstimateOfLCP": 2779, "optimisticLCP": 2779, "pessimisticLCP": 2779, "roughEstimateOfTTFB": 1374}, + {"url": "https://78novel.com/", "roughEstimateOfFCP": 2641, "optimisticFCP": 1687, "pessimisticFCP": 3596, "roughEstimateOfFMP": 2910, "optimisticFMP": 1687, "pessimisticFMP": 4132, "roughEstimateOfTTI": 12042, "optimisticTTI": 9152, "pessimisticTTI": 14933, "roughEstimateOfSI": 10801, "optimisticSI": 4657, "pessimisticSI": 6972, "roughEstimateOfLCP": 20958, "optimisticLCP": 20882, "pessimisticLCP": 21034, "roughEstimateOfTTFB": 1087, "roughEstimateOfLCPLoadStart": 17304, "roughEstimateOfLCPLoadEnd": 17848}, + {"url": "https://7ball.plus/", "roughEstimateOfFCP": 4622, "optimisticFCP": 4622, "pessimisticFCP": 4622, "roughEstimateOfFMP": 4772, "optimisticFMP": 4622, "pessimisticFMP": 4922, "roughEstimateOfTTI": 7727, "optimisticTTI": 7037, "pessimisticTTI": 8417, "roughEstimateOfSI": 9727, "optimisticSI": 3520, "pessimisticSI": 7767, "roughEstimateOfLCP": 6432, "optimisticLCP": 6317, "pessimisticLCP": 6548, "roughEstimateOfTTFB": 2422}, + {"url": "https://account.netflixstudios.com/", "roughEstimateOfFCP": 3831, "optimisticFCP": 3831, "pessimisticFCP": 3831, "roughEstimateOfFMP": 3831, "optimisticFMP": 3831, "pessimisticFMP": 3831, "roughEstimateOfTTI": 3831, "optimisticTTI": 3831, "pessimisticTTI": 3831, "roughEstimateOfSI": 8389, "optimisticSI": 4389, "pessimisticSI": 3837, "roughEstimateOfLCP": 3906, "optimisticLCP": 3831, "pessimisticLCP": 3981, "roughEstimateOfTTFB": 607}, + {"url": "https://acousticgeometry.com/", "roughEstimateOfFCP": 5810, "optimisticFCP": 5810, "pessimisticFCP": 5810, "roughEstimateOfFMP": 5810, "optimisticFMP": 5810, "pessimisticFMP": 5810, "roughEstimateOfTTI": 17780, "optimisticTTI": 14689, "pessimisticTTI": 20870, "roughEstimateOfSI": 13280, "optimisticSI": 3842, "pessimisticSI": 12541, "roughEstimateOfLCP": 18244, "optimisticLCP": 15699, "pessimisticLCP": 20788, "roughEstimateOfTTFB": 633, "roughEstimateOfLCPLoadStart": 2589, "roughEstimateOfLCPLoadEnd": 2977}, + {"url": "https://adhduk.co.uk/", "roughEstimateOfFCP": 3519, "optimisticFCP": 3519, "pessimisticFCP": 3519, "roughEstimateOfFMP": 3519, "optimisticFMP": 3519, "pessimisticFMP": 3519, "roughEstimateOfTTI": 18831, "optimisticTTI": 17438, "pessimisticTTI": 20223, "roughEstimateOfSI": 9215, "optimisticSI": 1143, "pessimisticSI": 12099, "roughEstimateOfLCP": 4962, "optimisticLCP": 4962, "pessimisticLCP": 4962, "roughEstimateOfTTFB": 615}, + {"url": "https://alumno.examentrafico.com/", "roughEstimateOfFCP": 5477, "optimisticFCP": 5477, "pessimisticFCP": 5477, "roughEstimateOfFMP": 5477, "optimisticFMP": 5477, "pessimisticFMP": 5477, "roughEstimateOfTTI": 10229, "optimisticTTI": 10229, "pessimisticTTI": 10229, "roughEstimateOfSI": 7373, "optimisticSI": 2082, "pessimisticSI": 7243, "roughEstimateOfLCP": 10932, "optimisticLCP": 10932, "pessimisticLCP": 10932, "roughEstimateOfTTFB": 609}, + {"url": "https://anapa-lazurnyy.ru/", "roughEstimateOfFCP": 2112, "optimisticFCP": 2112, "pessimisticFCP": 2112, "roughEstimateOfFMP": 2112, "optimisticFMP": 2112, "pessimisticFMP": 2112, "roughEstimateOfTTI": 26582, "optimisticTTI": 22408, "pessimisticTTI": 30757, "roughEstimateOfSI": 11546, "optimisticSI": 1631, "pessimisticSI": 14635, "roughEstimateOfLCP": 3038, "optimisticLCP": 3038, "pessimisticLCP": 3038, "roughEstimateOfTTFB": 761, "roughEstimateOfLCPLoadStart": 1919, "roughEstimateOfLCPLoadEnd": 2871}, + {"url": "https://ancientolympicsmuseum.com/", "roughEstimateOfFCP": 1661, "optimisticFCP": 1661, "pessimisticFCP": 1661, "roughEstimateOfFMP": 1661, "optimisticFMP": 1661, "pessimisticFMP": 1661, "roughEstimateOfTTI": 6701, "optimisticTTI": 5160, "pessimisticTTI": 8242, "roughEstimateOfSI": 4495, "optimisticSI": 525, "pessimisticSI": 6170, "roughEstimateOfLCP": 3510, "optimisticLCP": 3510, "pessimisticLCP": 3510, "roughEstimateOfTTFB": 614}, + {"url": "https://anhnguisa.edu.vn/", "roughEstimateOfFCP": 2196, "optimisticFCP": 2196, "pessimisticFCP": 2196, "roughEstimateOfFMP": 2196, "optimisticFMP": 2196, "pessimisticFMP": 2196, "roughEstimateOfTTI": 10382, "optimisticTTI": 8357, "pessimisticTTI": 12407, "roughEstimateOfSI": 7403, "optimisticSI": 2466, "pessimisticSI": 6463, "roughEstimateOfLCP": 6246, "optimisticLCP": 6096, "pessimisticLCP": 6396, "roughEstimateOfTTFB": 1175, "roughEstimateOfLCPLoadStart": 3985, "roughEstimateOfLCPLoadEnd": 6204}, + {"url": "https://ap3.shu.edu.tw/", "roughEstimateOfFCP": 781, "optimisticFCP": 781, "pessimisticFCP": 781, "roughEstimateOfFMP": 781, "optimisticFMP": 781, "pessimisticFMP": 781, "roughEstimateOfTTI": 781, "optimisticTTI": 781, "pessimisticTTI": 781, "roughEstimateOfSI": 1463, "optimisticSI": 861, "pessimisticSI": 781, "roughEstimateOfLCP": 1379, "optimisticLCP": 1379, "pessimisticLCP": 1379, "roughEstimateOfTTFB": 615, "roughEstimateOfLCPLoadStart": 615, "roughEstimateOfLCPLoadEnd": 1360}, + {"url": "https://app.cloutly.com/", "roughEstimateOfFCP": 1811, "optimisticFCP": 1732, "pessimisticFCP": 1890, "roughEstimateOfFMP": 5300, "optimisticFMP": 1732, "pessimisticFMP": 8867, "roughEstimateOfTTI": 16794, "optimisticTTI": 16468, "pessimisticTTI": 17120, "roughEstimateOfSI": 8484, "optimisticSI": 795, "pessimisticSI": 11725, "roughEstimateOfLCP": 14326, "optimisticLCP": 14198, "pessimisticLCP": 14454, "roughEstimateOfTTFB": 635}, + {"url": "https://app.radprimer.com/", "roughEstimateOfFCP": 1382, "optimisticFCP": 1382, "pessimisticFCP": 1382, "roughEstimateOfFMP": 1382, "optimisticFMP": 1382, "pessimisticFMP": 1382, "roughEstimateOfTTI": 3129, "optimisticTTI": 2939, "pessimisticTTI": 3318, "roughEstimateOfSI": 1860, "optimisticSI": 866, "pessimisticSI": 1382, "roughEstimateOfLCP": 1390, "optimisticLCP": 1390, "pessimisticLCP": 1390, "roughEstimateOfTTFB": 621}, + {"url": "https://arby-youm.com/", "roughEstimateOfFCP": 2810, "optimisticFCP": 2810, "pessimisticFCP": 2810, "roughEstimateOfFMP": 2810, "optimisticFMP": 2810, "pessimisticFMP": 2810, "roughEstimateOfTTI": 2810, "optimisticTTI": 2810, "pessimisticTTI": 2810, "roughEstimateOfSI": 2973, "optimisticSI": 998, "pessimisticSI": 2810, "roughEstimateOfLCP": 2810, "optimisticLCP": 2810, "pessimisticLCP": 2810, "roughEstimateOfTTFB": 854}, + {"url": "https://archerechner.graltek.net/", "roughEstimateOfFCP": 1004, "optimisticFCP": 1004, "pessimisticFCP": 1004, "roughEstimateOfFMP": 1589, "optimisticFMP": 1004, "pessimisticFMP": 2173, "roughEstimateOfTTI": 2248, "optimisticTTI": 2173, "pessimisticTTI": 2323, "roughEstimateOfSI": 2158, "optimisticSI": 872, "pessimisticSI": 1828, "roughEstimateOfLCP": 2323, "optimisticLCP": 2323, "pessimisticLCP": 2323, "roughEstimateOfTTFB": 704}, + {"url": "https://arqrio.org.br/", "roughEstimateOfFCP": 3831, "optimisticFCP": 3831, "pessimisticFCP": 3831, "roughEstimateOfFMP": 3831, "optimisticFMP": 3831, "pessimisticFMP": 3831, "roughEstimateOfTTI": 6312, "optimisticTTI": 5649, "pessimisticTTI": 6976, "roughEstimateOfSI": 12312, "optimisticSI": 6021, "pessimisticSI": 6357, "roughEstimateOfLCP": 9667, "optimisticLCP": 8049, "pessimisticLCP": 11286, "roughEstimateOfTTFB": 643, "roughEstimateOfLCPLoadStart": 8413, "roughEstimateOfLCPLoadEnd": 9589}, + {"url": "https://asdb.az.gov/", "roughEstimateOfFCP": 3815, "optimisticFCP": 3815, "pessimisticFCP": 3815, "roughEstimateOfFMP": 3815, "optimisticFMP": 3815, "pessimisticFMP": 3815, "roughEstimateOfTTI": 14087, "optimisticTTI": 12053, "pessimisticTTI": 16120, "roughEstimateOfSI": 9965, "optimisticSI": 2269, "pessimisticSI": 10828, "roughEstimateOfLCP": 17043, "optimisticLCP": 15005, "pessimisticLCP": 19081, "roughEstimateOfTTFB": 1052, "roughEstimateOfLCPLoadStart": 14017, "roughEstimateOfLCPLoadEnd": 16293}, + {"url": "https://asosyalsozluk.com/", "roughEstimateOfFCP": 2615, "optimisticFCP": 2615, "pessimisticFCP": 2615, "roughEstimateOfFMP": 2615, "optimisticFMP": 2615, "pessimisticFMP": 2615, "roughEstimateOfTTI": 4884, "optimisticTTI": 4191, "pessimisticTTI": 5578, "roughEstimateOfSI": 3856, "optimisticSI": 1214, "pessimisticSI": 3703, "roughEstimateOfLCP": 3357, "optimisticLCP": 3357, "pessimisticLCP": 3357, "roughEstimateOfTTFB": 918}, + {"url": "https://asufc.sanita.fvg.it/", "roughEstimateOfFCP": 6858, "optimisticFCP": 5535, "pessimisticFCP": 8181, "roughEstimateOfFMP": 6858, "optimisticFMP": 5535, "pessimisticFMP": 8181, "roughEstimateOfTTI": 10323, "optimisticTTI": 6375, "pessimisticTTI": 14272, "roughEstimateOfSI": 13274, "optimisticSI": 4705, "pessimisticSI": 10672, "roughEstimateOfLCP": 11947, "optimisticLCP": 7826, "pessimisticLCP": 16069, "roughEstimateOfTTFB": 988, "roughEstimateOfLCPLoadStart": 10780, "roughEstimateOfLCPLoadEnd": 11891} ] }