New Browsertime 11 alpha (#3201)

This commit is contained in:
Peter Hedenskog 2020-12-08 19:49:13 +01:00 committed by GitHub
parent 5c32deeaef
commit 84209b97a4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 39 additions and 77 deletions

View File

@ -43,7 +43,6 @@ The file will look something like this:
~~~ ~~~
browsertime.pageSummary.statistics.timings.timings browsertime.pageSummary.statistics.timings.timings
browsertime.pageSummary.statistics.timings.rumSpeedIndex
browsertime.pageSummary.statistics.timings.fullyLoaded browsertime.pageSummary.statistics.timings.fullyLoaded
browsertime.pageSummary.statistics.timings.firstPaint browsertime.pageSummary.statistics.timings.firstPaint
browsertime.pageSummary.statistics.timings.userTimings browsertime.pageSummary.statistics.timings.userTimings

View File

@ -109,7 +109,6 @@ It will generate a HAR file, a video and a browsertime.json that hold all the me
"first-contentful-paint": 465, "first-contentful-paint": 465,
"first-paint": 465 "first-paint": 465
}, },
"rumSpeedIndex": 469,
"userTimings": { "userTimings": {
"marks": [], "marks": [],
"measures": [] "measures": []
@ -528,16 +527,6 @@ It will generate a HAR file, a video and a browsertime.json that hold all the me
"p99": 465, "p99": 465,
"max": 465 "max": 465
} }
},
"rumSpeedIndex": {
"median": 469,
"mean": 469,
"mdev": 0,
"min": 469,
"p10": 469,
"p90": 469,
"p99": 469,
"max": 469
} }
}, },
"visualMetrics": { "visualMetrics": {
@ -1565,7 +1554,6 @@ And it will generate a JSON that looks something like this:
"responseEnd": 202, "responseEnd": 202,
"responseStart": 199 "responseStart": 199
}, },
"rumSpeedIndex": 271.0001468658447,
"timings": { "timings": {
"backEndTime": 199, "backEndTime": 199,
"domContentLoadedTime": 220, "domContentLoadedTime": 220,

View File

@ -3,7 +3,7 @@
const forEach = require('lodash.foreach'), const forEach = require('lodash.foreach'),
statsHelpers = require('../../support/statsHelpers'); statsHelpers = require('../../support/statsHelpers');
const timings = ['firstPaint', 'rumSpeedIndex', 'timeToDomContentFlushed']; const timings = ['firstPaint', 'timeToDomContentFlushed'];
module.exports = { module.exports = {
statsPerType: {}, statsPerType: {},

View File

@ -2,7 +2,6 @@
module.exports = [ module.exports = [
'statistics.timings.pageTimings', 'statistics.timings.pageTimings',
'statistics.timings.rumSpeedIndex',
'statistics.timings.fullyLoaded', 'statistics.timings.fullyLoaded',
'statistics.timings.firstPaint', 'statistics.timings.firstPaint',
'statistics.timings.timeToDomContentFlushed', 'statistics.timings.timeToDomContentFlushed',

View File

@ -2,7 +2,6 @@
module.exports = [ module.exports = [
'firstPaint', 'firstPaint',
'rumSpeedIndex',
'timeToDomContentFlushed', 'timeToDomContentFlushed',
'fullyLoaded', 'fullyLoaded',
'pageTimings', 'pageTimings',

View File

@ -10,9 +10,9 @@ module.exports = {
pageInfo, pageInfo,
'data.browsertime.pageSummary.statistics.visualMetrics.SpeedIndex.median' 'data.browsertime.pageSummary.statistics.visualMetrics.SpeedIndex.median'
); );
const rumSpeedIndexMedian = get( const loadEventEndMedian = get(
pageInfo, pageInfo,
'data.browsertime.pageSummary.statistics.timings.rumSpeedIndex.median' 'data.browsertime.pageSummary.statistics.timings.loadEventEnd.median'
); );
if (speedIndexMedian) { if (speedIndexMedian) {
for (let run of runs) { for (let run of runs) {
@ -25,16 +25,16 @@ module.exports = {
}; };
} }
} }
} else if (rumSpeedIndexMedian) { } else if (loadEventEndMedian) {
for (let rumRuns of runs) { for (let rumRuns of runs) {
// make sure we run Browsertime for that run = 3 runs WPT and 2 runs BT // make sure we run Browsertime for that run = 3 runs WPT and 2 runs BT
if ( if (
rumRuns.data.browsertime && rumRuns.data.browsertime &&
rumSpeedIndexMedian === loadEventEndMedian ===
rumRuns.data.browsertime.run.timings.rumSpeedIndex rumRuns.data.browsertime.run.timings.loadEventEnd
) { ) {
return { return {
name: 'RUMSpeedIndex', name: 'LoadEventEnd',
runIndex: rumRuns.runIndex + 1 runIndex: rumRuns.runIndex + 1
}; };
} }
@ -56,7 +56,7 @@ module.exports = {
Visual Complete 85%: ${visualMetrics.VisualComplete85}, Visual Complete 85%: ${visualMetrics.VisualComplete85},
Last Visual Change: ${visualMetrics.LastVisualChange}`; Last Visual Change: ${visualMetrics.LastVisualChange}`;
} else if (timings) { } else if (timings) {
return `RUMSpeedIndex: ${timings.rumSpeedIndex}`; return `Load Event End: ${timings.loadEventEnd}`;
} else { } else {
return ''; return '';
} }
@ -78,8 +78,8 @@ module.exports = {
Median Visual Complete 85%: ${visualMetrics.VisualComplete85.median}, Median Visual Complete 85%: ${visualMetrics.VisualComplete85.median},
Median Last Visual Change: ${visualMetrics.LastVisualChange.median}`; Median Last Visual Change: ${visualMetrics.LastVisualChange.median}`;
} else if (timings) { } else if (timings) {
return timings.rumSpeedIndex return timings.loadEventEnd
? `Median RUMSpeedIndex: ${timings.rumSpeedIndex.median}` ? `Median LoadEventEnd: ${timings.loadEventEnd.median}`
: '' + timings.fullyLoaded : '' + timings.fullyLoaded
? `Median Fully loaded: ${timings.fullyLoaded.median}` ? `Median Fully loaded: ${timings.fullyLoaded.median}`
: ''; : '';

View File

@ -110,10 +110,7 @@ module.exports = function(data) {
if (browsertime) { if (browsertime) {
const summary = browsertime.summary; const summary = browsertime.summary;
rows.push( rows.push(row(summary.firstPaint, 'First Paint', 'firstPaint', h.time.ms));
row(summary.rumSpeedIndex, 'RUMSpeed Index', 'rumSpeedIndex', h.time.ms),
row(summary.firstPaint, 'First Paint', 'firstPaint', h.time.ms)
);
if (summary.timings) { if (summary.timings) {
rows.push( rows.push(

View File

@ -132,9 +132,6 @@ block content
h5(id='Logo') Logo h5(id='Logo') Logo
p The time when the logo (configured with --scriptInput.visualElements) within the viewport has finished painted at the final position on the screen. Calculated by analysing a video. p The time when the logo (configured with --scriptInput.visualElements) within the viewport has finished painted at the final position on the screen. Calculated by analysing a video.
h5(id='rumSpeedIndex') RUM-SpeedIndex
p A browser version also created by Pat Meenan that calculates the SpeedIndex measurements using Resource Timings. It is not as perfect as Speed Index but a good start.
h5(id='imageSizePerPage') Image transfer size per page h5(id='imageSizePerPage') Image transfer size per page
p The size of images per page. p The size of images per page.

View File

@ -118,10 +118,6 @@ if browsertime
td td
a(href=baseHelpURL + 'timeToFirstInteractive') Time To First Interactive a(href=baseHelpURL + 'timeToFirstInteractive') Time To First Interactive
td.number #{h.time.ms(timings.timeToFirstInteractive.toFixed(0))} td.number #{h.time.ms(timings.timeToFirstInteractive.toFixed(0))}
tr
td
a(href=baseHelpURL + 'rumSpeedIndex') RUM Speed Index
td.number #{h.time.ms(timings.rumSpeedIndex.toFixed(0))}
tr tr
td td
a(href=baseHelpURL + 'loadEventEnd') Load Event End a(href=baseHelpURL + 'loadEventEnd') Load Event End

View File

@ -46,7 +46,7 @@ mixin getRow(name, object, path, runPath, metric, f)
if btStatistics if btStatistics
h2 Timings Summary h2 Timings Summary
- timingMetrics = ['firstPaint', 'loadEventEnd','rumSpeedIndex'] - timingMetrics = ['firstPaint', 'loadEventEnd']
.responsive .responsive
table table
thead thead

View File

@ -111,7 +111,6 @@ class InfluxDBDataGenerator {
tags.timings = keyArray[0]; tags.timings = keyArray[0];
} else if (type === 'browsertime.pageSummary') { } else if (type === 'browsertime.pageSummary') {
// statistics.timings.pageTimings.backEndTime.median // statistics.timings.pageTimings.backEndTime.median
// statistics.timings.rumSpeedIndex.median
// statistics.timings.userTimings.marks.logoTime.median // statistics.timings.userTimings.marks.logoTime.median
// statistics.visualMetrics.SpeedIndex.median // statistics.visualMetrics.SpeedIndex.median
tags[keyArray[0]] = keyArray[1]; tags[keyArray[0]] = keyArray[1];

View File

@ -82,14 +82,6 @@ module.exports = function(
), ),
f: h.time.ms f: h.time.ms
}, },
rumSpeedIndex: {
name: 'RUM Speed Index',
metric: get(
base.browsertime,
'pageSummary.statistics.timings.rumSpeedIndex'
),
f: h.time.ms
},
coachScore: { coachScore: {
name: 'Coach score', name: 'Coach score',
metric: get(base.coach, 'pageSummary.advice.performance.score'), metric: get(base.coach, 'pageSummary.advice.performance.score'),

View File

@ -85,9 +85,6 @@ module.exports = {
size = `${val}`; size = `${val}`;
} else if (/total requests/i.test(b.name)) { } else if (/total requests/i.test(b.name)) {
reqs = `${val} reqs`; reqs = `${val} reqs`;
} else if (b.url === 'rumSpeedIndex') {
name = abbr(b.name);
rum = color.bold(`${name}: ${val}`);
} }
}); });
lines.push(drab('Score: ') + scores.reverse().join(', ')); lines.push(drab('Score: ') + scores.reverse().join(', '));

52
npm-shrinkwrap.json generated
View File

@ -110,9 +110,9 @@
}, },
"dependencies": { "dependencies": {
"debug": { "debug": {
"version": "3.2.6", "version": "3.2.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"requires": { "requires": {
"ms": "^2.1.1" "ms": "^2.1.1"
} }
@ -660,9 +660,9 @@
}, },
"dependencies": { "dependencies": {
"debug": { "debug": {
"version": "4.2.0", "version": "4.3.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
"integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"requires": { "requires": {
"ms": "2.1.2" "ms": "2.1.2"
} }
@ -723,9 +723,9 @@
"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ=="
}, },
"@types/node": { "@types/node": {
"version": "14.14.8", "version": "14.14.10",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.8.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
"integrity": "sha512-z/5Yd59dCKI5kbxauAJgw6dLPzW+TNOItNE00PkpzNwUIEwdj/Lsqwq94H5DdYBX7C13aRA0CY32BK76+neEUA==" "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ=="
}, },
"@ungap/promise-all-settled": { "@ungap/promise-all-settled": {
"version": "1.1.2", "version": "1.1.2",
@ -1136,9 +1136,9 @@
} }
}, },
"browsertime": { "browsertime": {
"version": "10.9.0", "version": "11.0.0-alpha.1",
"resolved": "https://registry.npmjs.org/browsertime/-/browsertime-10.9.0.tgz", "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-11.0.0-alpha.1.tgz",
"integrity": "sha512-ungRPRy6tJh6KizLwMUS7kJHRVlc1Gf1/3qNmKCtjVgSjeNf3SknWozMa1TEd7nj/cHWsFdJmamamXuW5t4dVQ==", "integrity": "sha512-QwlVvAK3yvxyJ0dQafjxyiQd67GoeptsOaG6IoWXjCunCTNpCpS0h9R2TGeAXS5usil2iCUMd2FKrKbO4wQ24Q==",
"requires": { "requires": {
"@cypress/xvfb": "1.2.4", "@cypress/xvfb": "1.2.4",
"@sitespeed.io/chromedriver": "87.0.4280-20", "@sitespeed.io/chromedriver": "87.0.4280-20",
@ -2952,13 +2952,13 @@
} }
}, },
"global": { "global": {
"version": "4.3.2", "version": "4.4.0",
"resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz",
"integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==",
"optional": true, "optional": true,
"requires": { "requires": {
"min-document": "^2.19.0", "min-document": "^2.19.0",
"process": "~0.5.1" "process": "^0.11.10"
} }
}, },
"globals": { "globals": {
@ -5029,9 +5029,9 @@
} }
}, },
"process": { "process": {
"version": "0.5.2", "version": "0.11.10",
"resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
"integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
"optional": true "optional": true
}, },
"process-nextick-args": { "process-nextick-args": {
@ -7380,9 +7380,9 @@
} }
}, },
"ws": { "ws": {
"version": "7.4.0", "version": "7.4.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.0.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.1.tgz",
"integrity": "sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ==" "integrity": "sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ=="
}, },
"xdg-basedir": { "xdg-basedir": {
"version": "4.0.0", "version": "4.0.0",
@ -7390,12 +7390,12 @@
"integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q=="
}, },
"xhr": { "xhr": {
"version": "2.5.0", "version": "2.6.0",
"resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz", "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz",
"integrity": "sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==", "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==",
"optional": true, "optional": true,
"requires": { "requires": {
"global": "~4.3.0", "global": "~4.4.0",
"is-function": "^1.0.1", "is-function": "^1.0.1",
"parse-headers": "^2.0.0", "parse-headers": "^2.0.0",
"xtend": "^4.0.0" "xtend": "^4.0.0"

View File

@ -76,7 +76,7 @@
"@tgwf/co2": "0.6.1", "@tgwf/co2": "0.6.1",
"aws-sdk": "2.784.0", "aws-sdk": "2.784.0",
"axe-core": "4.0.2", "axe-core": "4.0.2",
"browsertime": "10.9.0", "browsertime": "11.0.0-alpha.1",
"coach-core": "6.0.0-beta.2", "coach-core": "6.0.0-beta.2",
"cli-color": "2.0.0", "cli-color": "2.0.0",
"concurrent-queue": "7.0.2", "concurrent-queue": "7.0.2",

View File

@ -631,7 +631,6 @@
"loadEventStart": 2453, "loadEventStart": 2453,
"loadEventEnd": 2453 "loadEventEnd": 2453
}, },
"rumSpeedIndex": 2005.3347735577977,
"timings": { "timings": {
"domainLookupTime": 0, "domainLookupTime": 0,
"redirectionTime": 261, "redirectionTime": 261,