Skip to content

Commit 49aa142

Browse files
authored
misc(lantern-collect): rebaseline to include new ttfb metric (#15069)
1 parent fbf5af5 commit 49aa142

5 files changed

+99
-82
lines changed

Diff for: core/scripts/lantern/assert-baseline-lantern-values-unchanged.js

+2
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ for (const entry of computedResults.sites) {
3939
/** @type {DiffForSite[]} */
4040
const diffsForSite = [];
4141
Object.keys(actualLantern).forEach(metricName => {
42+
if (!(metricName in expectedLantern)) throw new Error(`missing metric ${metricName}`);
43+
4244
const actual = Math.round(actualLantern[metricName]);
4345
const expected = Math.round(expectedLantern[metricName]);
4446
const diff = actual - expected;

Diff for: core/scripts/lantern/constants.js

+10
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ import {LH_ROOT} from '../../../root.js';
4848
* @property {number} [timeToConsistentlyInteractive]
4949
* @property {number} [speedIndex]
5050
* @property {number} [largestContentfulPaint]
51+
* @property {number} [timeToFirstByte]
52+
* @property {number} [largestContentfulPaintLoadStart]
53+
* @property {number} [largestContentfulPaintLoadEnd]
5154
*/
5255

5356
/**
@@ -67,6 +70,9 @@ import {LH_ROOT} from '../../../root.js';
6770
* @property {number} roughEstimateOfSI
6871
* @property {number} roughEstimateOfTTI
6972
* @property {number} roughEstimateOfLCP
73+
* @property {number} roughEstimateOfTTFB
74+
* @property {number} roughEstimateOfLCPLoadStart
75+
* @property {number} roughEstimateOfLCPLoadEnd
7076
*/
7177

7278
/** @type {Array<string>} */
@@ -196,6 +202,10 @@ export default {
196202
roughEstimateOfSI: evaluate('speedIndex', 'roughEstimateOfSI'),
197203
roughEstimateOfTTI: evaluate('timeToConsistentlyInteractive', 'roughEstimateOfTTI'),
198204
roughEstimateOfLCP: evaluate('largestContentfulPaint', 'roughEstimateOfLCP'),
205+
// TODO: enable when new traces are collected.
206+
// roughEstimateOfTTFB: evaluate('timeToFirstByte', 'roughEstimateOfTTFB'),
207+
// roughEstimateOfLCPLoadStart: evaluate('largestContentfulPaintLoadStart', 'roughEstimateOfLCPLoadStart'),
208+
// roughEstimateOfLCPLoadEnd: evaluate('largestContentfulPaintLoadEnd', 'roughEstimateOfLCPLoadEnd'),
199209
};
200210
},
201211
};

Diff for: core/scripts/lantern/print-correlations.js

+7-2
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ function evaluateAndPrintAccuracy(metric, lanternMetric) {
100100
const baselineOptions = {alwaysGray: !lanternMetric.includes('roughEstimate')};
101101

102102
const strings = [
103-
lanternMetric.padEnd(25),
103+
lanternMetric.padEnd(28),
104104
`${toPercentString(actualAccuracy.p50)} ${toBaselineDiffString(
105105
actualAccuracy.p50,
106106
baselineAccuracy.p50,
@@ -216,7 +216,7 @@ function findAndPrintFixesRegressions() {
216216

217217
console.log(
218218
chalk.bold(
219-
'Metric'.padEnd(25),
219+
'Metric'.padEnd(28),
220220
'p50 (% Error)'.padEnd(20),
221221
'p90 (% Error)'.padEnd(20),
222222
'p95 (% Error)'.padEnd(20)
@@ -243,6 +243,11 @@ evaluateAndPrintAccuracy('largestContentfulPaint', 'optimisticLCP');
243243
evaluateAndPrintAccuracy('largestContentfulPaint', 'pessimisticLCP');
244244
evaluateAndPrintAccuracy('largestContentfulPaint', 'roughEstimateOfLCP');
245245

246+
// TODO: enable when new traces are collected (also, do calls to findAndPrintWorst10Sites)
247+
// evaluateAndPrintAccuracy('timeToFirstByte', 'roughEstimateOfTTFB');
248+
// evaluateAndPrintAccuracy('largestContentfulPaintLoadStart', 'roughEstimateOfLCPLoadStart');
249+
// evaluateAndPrintAccuracy('largestContentfulPaintLoadEnd', 'roughEstimateOfLCPLoadEnd');
250+
246251
const estimates = allEvaluations.filter(entry => entry.lanternMetric.includes('roughEstimate'));
247252
const baselineEstimates = baselineEvaluations.filter(entry =>
248253
entry.lanternMetric.includes('roughEstimate')

Diff for: core/scripts/lantern/update-baseline-lantern-values.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ fs.writeFileSync(OUTPUT_PATH, prettyJSONStringify({sites}, {
4444
spaceBeforeColon: '',
4545
spaceInsideObject: '',
4646
shouldExpand: (_, level) => level < 2,
47-
}));
47+
}) + '\n');
4848

4949
fs.writeFileSync(OUTPUT_ACCURACY_PATH, JSON.stringify(
5050
constants.evaluateAllMetrics(computedResults, {sites}),
5151
null,
5252
2
53-
));
53+
) + '\n');

0 commit comments

Comments
 (0)