Closed Bug 1969312 Opened 1 year ago Closed 1 year ago

126.9 - 2.33% espn largestContentfulPaint / netflix largestContentfulPaint + 17 more (Linux) regression on Tue May 27 2025

Categories

(Core :: DOM: Performance APIs, defect)

defect

Tracking

()

RESOLVED WONTFIX
Tracking Status
firefox-esr128 --- unaffected
firefox139 --- unaffected
firefox140 --- unaffected
firefox141 --- affected

People

(Reporter: intermittent-bug-filer, Unassigned)

References

(Regression)

Details

(Keywords: perf, perf-alert, regression)

Perfherder has detected a browsertime performance regression from push c3ac0c48fcab094b5b9324b905a29629011851ef. As author of one of the patches included in that push, we need your help to address this regression.

Please acknowledge, and begin investigating this alert within 3 business days, or the patch(es) may be backed out in accordance with our regression policy. Our guide to handling regression bugs has information about how you can proceed with this investigation.

If you have any questions or need any help with the investigation, please reach out to afinder@mozilla.com. Alternatively, you can find help on Slack by joining #perf-help, and on Matrix you can find help by joining #perftest.

Regressions:

Ratio Test Platform Options Absolute values (old vs new) Performance Profiles
127% espn largestContentfulPaint linux1804-64-shippable-qr fission warm webrender 123.88 -> 281.08 Before/After
103% yahoo-mail largestContentfulPaint linux1804-64-shippable-qr bytecode-cached fission warm webrender 50.29 -> 102.19 Before/After
80% yahoo-mail largestContentfulPaint linux1804-64-shippable-qr fission warm webrender 50.36 -> 90.81 Before/After
46% expedia largestContentfulPaint linux1804-64-shippable-qr fission warm webrender 121.58 -> 177.38 Before/After
44% espn largestContentfulPaint linux1804-64-shippable-qr cold fission webrender 501.47 -> 719.91 Before/After
20% expedia largestContentfulPaint linux1804-64-shippable-qr cold fission webrender 1,662.90 -> 1,990.63 Before/After
17% microsoft largestContentfulPaint linux1804-64-shippable-qr fission warm webrender 123.28 -> 143.71
14% reddit largestContentfulPaint linux1804-64-shippable-qr fission warm webrender 126.82 -> 144.02
11% cnn largestContentfulPaint linux1804-64-shippable-qr bytecode-cached fission warm webrender 485.61 -> 537.40 Before/After
10% youtube largestContentfulPaint linux1804-64-shippable-qr fission warm webrender 1,020.75 -> 1,121.77 Before/After
... ... ... ... ... ...
5% google-slides largestContentfulPaint linux1804-64-shippable-qr bytecode-cached fission warm webrender 1,098.73 -> 1,155.23 Before/After
5% imdb largestContentfulPaint linux1804-64-shippable-qr fission warm webrender 869.12 -> 911.68
5% twitter largestContentfulPaint linux1804-64-shippable-qr fission warm webrender 599.38 -> 627.51
4% google-slides largestContentfulPaint linux1804-64-shippable-qr fission warm webrender 1,679.17 -> 1,738.70 Before/After
2% netflix largestContentfulPaint linux1804-64-shippable-qr fission warm webrender 638.92 -> 653.82

Details of the alert can be found in the alert summary, including links to graphs and comparisons for each of the affected tests.

If you need the profiling jobs you can trigger them yourself from treeherder job view or ask afinder@mozilla.com to do that for you.

You can run all of these tests on try with ./mach try perf --alert 45323

The following documentation link provides more information about this command.

Flags: needinfo?(sefeng)

Set release status flags based on info from the regressing bug 1963917

I think this is a base line change, I am going to run some tests to confirm that.

Yeah, this is a base line change.

So we use renderTime as the value for LargestContentfulPaint, and this is how browsertime gathers that information. It takes a max of renderTime and loadTime.

I manually loaded ESPN, so this is how the LCP entry looks like before bug 1963917.

{
  "name": "",
  "entryType": "largest-contentful-paint",
  "startTime": 251,
  "duration": 0,
  "renderTime": 0,
  "loadTime": 251,
  "size": 174240,
  "id": "",
  "url": "https://a.espncdn.com/combiner/i?img=%2Fphoto%2F2025%2F0528%2Fr1499487_1296x518_5%2D2.jpg&w=1320&h=528&scale=crop&cquality=40&location=center&format=jpg",
  "paintTime": 0,
  "presentationTime": null
}

Max(renderTime, loadTime) is 251.

After that patch, it becomes

{
  "name": "",
  "entryType": "largest-contentful-paint",
  "startTime": 648,
  "duration": 0,
  "renderTime": 648,
  "loadTime": 262,
  "size": 174240,
  "id": "",
  "url": "https://a.espncdn.com/combiner/i?img=%2Fphoto%2F2025%2F0528%2Fr1499487_1296x518_5%2D2.jpg&w=1320&h=528&scale=crop&cquality=40&location=center&format=jpg",
  "paintTime": 648,
  "presentationTime": null
}

notice that now renderTime is exposed, so Max(renderTime, loadTime) becomes 648 instead of 262 for this case.

Does it sound correct you sparky?

Flags: needinfo?(sefeng) → needinfo?(gmierz2)

Yes, that looks correct to me. I believe that this can be closed as a WONTFIX.

Just a note that these results now come from the following support script instead of the results.py file: https://searchfox.org/mozilla-central/source/testing/raptor/browsertime/support-scripts/browsertime_pageload.py#22

Flags: needinfo?(gmierz2)

Thanks!

Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.