Performance Triage

From MozillaWiki
Jump to: navigation, search



To (re)nominate a bug for triage, set the Performance Impact flag in Bugzilla to ?

This can be found by clicking Show Advanced Fields followed by Set bug flags when entering a new bug:

Bugzilla performance nomination on new bug form.png

Or by expanding the Tracking section when editing an existing bug:

Screenshot 2022-02-24 at 19.53.54.png


To nominate a bug for triage, add the Performance label to an issue. This can be done by filing an new issue with the "Performance issue" template:

Screenshot of file a "Performance issue" template on GitHub

Or by opening an existing issue on GitHub and selecting the label from the right-hand bar:

Screenshot of adding a performance label on GitHub

Currently, only the following GitHub repositories are supported:


Performance triage

Full Query
ID Summary Status
1800487 Periodic hangs lasting 5 to 30 minutes on any Windows 10 computer. I've searched bug lists. I don't see it. I've killed background tasks, that doesn't help. Has Microsoft killed Firefox? I was forced to migrate to Edge. UNCONFIRMED
1809763 Seems to not play nicely with VBox, someone crashes depending on who is open first NEW
1809874 33.04 - 25.87% youtube SpeedIndex / youtube SpeedIndex (Linux) regression on Mon January 9 2023 NEW
1809944 Major page initial load slowdowns on multiple devices without addons, except in private browsing NEW
1810141 Loading URIs calls newURI a lot which is expensive for large data URIs NEW
1810192 [MacOS][Speedometer2] SetTimeout overruns by 100ms while main-thread is idle NEW
1810421 Lag spikes every 5-6 seconds UNCONFIRMED
1810733 Firefox hangs on Linux when connecting to dbus UNCONFIRMED
1811058 Serious Memory Leak NEW
1811684 search in source code stalls UNCONFIRMED
1811701 address-space memory leak UNCONFIRMED
1811745 Battery drain caused by background updating service on Windows UNCONFIRMED
1811750 Performance.mark/measure takes a long time to execute UNCONFIRMED
1811867 website crashes Firefox UNCONFIRMED
1811910 Extreme CPU usage in chrome process and pervasive responsiveness issues UNCONFIRMED
1812136 macOS Firefox crashes when interacting with specific page UNCONFIRMED
1812507 Steady regression on AWFY-AngularJS-TodoMVC/CompletingAllItems/Sync since January 14, 2023 NEW
1813352 firefox consuming a lot of ram UNCONFIRMED
1813515 28.02% twitch-animation (OSX) regression on Wed January 25 2023 NEW

19 Total; 19 Open (100%); 0 Resolved (0%); 0 Verified (0%);

Performance triage (pending needinfo)

Full Query
ID Summary Status
1426226 CPU spike and memory expansion on Ubuntu Linux UNCONFIRMED
1615369 Performance metrics Round 2 for GeckoView streaming ASSIGNED
1658443 windows10 accessing extra files in browser_startup_mainthreadio.js and related tests NEW
1693219 Firefox 78.7 ESR takes a long time to recover after being SIGSTOPped for some time UNCONFIRMED
1700945 Periodic >100% CPU spikes of Firefox when machine is in sleep mode NEW
1763279 SessionStore keeps copying all data into a huge array NEW
1766863 Time from startup to usable tabs extremely long UNCONFIRMED
1768357 Javascript completely halts after 20220506 (or 0507) update UNCONFIRMED
1769763 Massive memory use in structured-clone-holder UNCONFIRMED
1770014 For the last 1-2 weeks Firefox has started locking up after a few hours of use. UNCONFIRMED
1770891 Page do not load, firefox freeze, do not respond but also give no error UNCONFIRMED
1771612 EXCEPTION_BREAKPOINT @ OOM | large | mozalloc_abort UNCONFIRMED
1772139 My browser crashes all the time, but what's going on? UNCONFIRMED
1772249 Jank and checkerboarding when scrolling NEW
1772429 Remove or update probes expiring in Firefox 104: CONTENT_PROCESS_* ASSIGNED
1773804 google sheets eats unusal amount of memory UNCONFIRMED
1774616 FF freezing while shopping online UNCONFIRMED
1775395 Uses most of my memory UNCONFIRMED
1778242 Firefox CP Web content taking up a lot of RAM UNCONFIRMED
1786940 firefox 104.0 excessive cpu usage UNCONFIRMED
1788190 Firefox suddenly uses 7.4 GB of RAM with only 4 tabs open (Macbook Pro M1) UNCONFIRMED
1788853 Slow shut down UNCONFIRMED
1789146 excess consumption of firefox when closing. UNCONFIRMED
1791199 After upgrading to 104.0.2, it started freezing when we try to authenticate using YubiKey UNCONFIRMED
1791491 pages slow to load UNCONFIRMED
1792150 Firefox Doesn't loads pages for some time after fresh OS session UNCONFIRMED
1792733 firefox constantly freezing UNCONFIRMED
1793132 App links performs packageManager query on main thread on every page load NEW
1793364 High memory use at random UNCONFIRMED
1794582 After update, Firefox uses copious amounts of CPU while being idle. UNCONFIRMED
1794652 Consider removing "insufficient" page load timing probes like TIME_TO_* NEW
1794824 Firefox going crazy UNCONFIRMED
1795312 Firefox GUI lags for a few seconds serializing principals in session restore code ASSIGNED
1795577 memory leak UNCONFIRMED
1795657 Nightly start fails to restore - no websites load - popup force quit or wait UNCONFIRMED
1799234 Excessive RAM, CPU and Disk usage UNCONFIRMED
1799337 Firefox uses to much RAM and crashes UNCONFIRMED
1800354 Memory building up and using massive amounts. UNCONFIRMED
1801331 Firefox uses much memory and many computes > black screen|crashes UNCONFIRMED
1801432 RAM memory overflow when using Firefox UNCONFIRMED
1802861 Massive Memory Leak UNCONFIRMED
1803273 Very high memory consumption UNCONFIRMED
1803422 Random Memory leaks in browser, one tab using 3-4GB of RAM UNCONFIRMED
1803429 Constant memory leak UNCONFIRMED
1803841 System freezes each time Firefox is used to browse to Prime video/Categories/Movies on UNCONFIRMED
1803988 firefox using too much memory UNCONFIRMED
1804719 macOS specific glitch in which Firefox becomes unresponsive after using Spotlight UNCONFIRMED
1804893 >120% CPU load on due to heavy text and date formatting within DOMIntersectionObserver callbacks (Page leaks memory with heap-unclassified) NEW
1805255 Firefox has 50% more soft page faults than Chrome running Speedometer 2 NEW
1806286 Largest Contentful Paint for loading pages is poor UNCONFIRMED
1807528 FireFox to be slow due to create many sub-process. UNCONFIRMED
1808223 cmd-tab back to Firefox window on macOS is slow NEW
1809000 Closing a browser window with an open panelview results in a leakcheck permafail: WARNING: YOU ARE LEAKING THE WORLD NEW
1809764 Webpage causes tab to consume ever-growing amounts of memory and does not render NEW
1810550 Tabs use "excessive" CPU when application is backgrounded NEW
1811134 Gmail consuming up to 6GB ram memory UNCONFIRMED

56 Total; 56 Open (100%); 0 Resolved (0%); 0 Verified (0%);

Recently opened bugs with performance keywords in the summary

Full Query
ID Summary Status
1810664 [Bug]: The latest synced tab is displayed in the Jump Back In section until a restart is performed NEW
1810739 Telemetry hurts performance of creating lots of tabs NEW
1810788 JS demo ( is massively faster in Chrome compared to Nightly NEW
1810831 Assertion failure: data != nullptr, at /builds/worker/checkouts/gecko/dom/webgpu/Queue.cpp:67 NEW
1811090 Remove exemptions for precise vendored wgpu crates NEW
1811168 JS demo ( is slower in Nightly compared to Chrome NEW
1811289 WebGPU should not request wgpu-hal `GL` backend ASSIGNED
1811350 Pages return a server not found error I believe due to running out of memory UNCONFIRMED
1811390 GPU-local copy fastpath for webgl->webgl texture uploads NEW
1811435 Add a capability to allocate RemoteVideoDecoder in GPU process NEW
1811478 Anti-tracking tests are very slow NEW
1811632 Hit MOZ_CRASH(BindGroupLayout[2] does not exist) at /builds/worker/checkouts/gecko/third_party/rust/wgpu-core/src/ NEW
1811666 JS demo ( is slower on Nightly compared to Chrome (and appears to spend time in non-JIT code) NEW
1811718 JS demo ( is slower in Nightly compared with Chrome NEW
1811719 Codepen demo ( is slower to refresh in Nightly compared to Chrome NEW
1811753 JS demo ( is slower in Nightly compared to Chrome NEW
1811755 Running a particular demo with the profiler leads to exponential memory use, OOM and crash NEW
1811761 Firefox using too much memory on linux UNCONFIRMED
1811784 JS demo ( is much slower in Nightly compared to Chrome NEW
1811817 [wpt-sync] Sync PR 38103 - Filtering flaky ProfileBrowser, LiveTranslateController and WebContentsInteraction tests from Mac12-arm64-rel NEW
1811843 content loads extremely slow on in ETP strict NEW
1811891 JS demo is slower in Nightly compared to Chrome NEW
1811895 JS demo ( is slower in Nightly compared to Chrome NEW
1811908 Allow translations to work without requiring SSE 4.1 NEW
1811927 Report non-malloc memory managed by SpiderMonkey to the profiler, e.g. wasm memory NEW
1811985 JS demo ( is quite slower in Nightly compared to Chrome NEW
1811986 JS demo ( is faster in Chrome compared to Nightly NEW
1811987 JS demo ( is very fast in Chrome compared to Nightly NEW
1812016 [ARM] GPU acceleration seems broken on armhf since 1738814 ASSIGNED
1812018 particular reddit page too slow. other pages are fine. UNCONFIRMED
1812109 Follow system for dark mode, not battery saver... NEW
1812183 When switching the system language, some items doesn't get translated without a restart NEW
1812211 swipe-to-nav icon can get "stuck" on (until you perform some other two-finger gesture), if you click to open context-menu while swiping NEW
1812230 JS demo ( spends some time on non-ion path (but we are faster than Chrome) NEW
1812265 Firefox+Thunderbird+other apps/AMD/X11+Wayland: Triple-buffering loop with amdgpu_dm_commit_planes Waiting for fences timed out, Google Docs and AMD Radeon RX 6400 NEW
1812352 WebGPU CTS hangs on `webgpu:api,operation,adapter,requestDevice:invalid:` NEW
1812353 WebGPU: standard features and limits not yet conforming to spec. NEW
1812394 High parent-process CPU usage, with animated balloons SVG background-image NEW
1812463 Tab Pickup CFR and Synced tabs section are not displayed for existing user until a manual sync is performed NEW
1812512 JS demo ( is much more slower to load in Nightly compared to Chrome NEW
1812516 Codepen demo ( is relatively slower in Nightly compared to Chrome NEW
1812704 Wire up the MigrationWizard to MigrationUtils to actually perform migrations NEW
1812913 Faster way to close a tab on larger screen NEW
1813060 Investigate performance impact of global CMP cookie banner rules NEW
1813107 Hit MOZ_CRASH(called `Result::unwrap()` on an `Err` value: Transfer(InvalidTexture((0, 1, Vulkan)))) at gfx/wgpu_bindings/src/ NEW
1813111 Hit MOZ_CRASH(called `Option::unwrap()` on a `None` value) at gfx/wgpu_bindings/src/ NEW
1813113 Hit MOZ_CRASH(attempt to add with overflow) at /third_party/rust/wgpu-core/src/command/ NEW
1813127 Assertion failure: IsGPUColorDict() (Wrong type!), at /builds/worker/workspace/obj-build/dist/include/mozilla/dom/WebGPUBinding.h:3615 NEW
1813161 Prototype language detection in about:translations ASSIGNED
1813189 `image-rendering: crisp-edges/pixelated` don't work anymore for `VIDEO` with AMD GPU since Firefox 110.0a1 20221220214632 NEW
1813271 Faster animations NEW
1813297 JS demo ( is slower in Nightly compared to Chrome NEW
1813309 Investigate if avoiding ensureLinear call under CopyStringChars would improve performance NEW
1813344 HTMLInputElement::IntrinsicState() is slow ASSIGNED
1813387 Assertion failure: isThrowingOutOfMemory(), at vm/JSContext.cpp:735 NEW
1813547 wgpu update (early feb 2023) NEW
1813599 PerformanceMark may expose a non-reduced timestamp NEW
1813619 faster page load with data saver NEW
1813677 unify the error reporting function across fast-forward scripts NEW
1813683 High Memory Usage UNCONFIRMED
1813696 Enhancement: Add option to make tapping a search engine perform the search immediately NEW
1813705 Hit MOZ_CRASH(called `Result::unwrap()` on an `Err` value: TryFromIntError(())) at /third_party/rust/wgpu-core/src/command/ NEW
1813719 Assertion failure: false (MOZ_ASSERT_UNREACHABLE: Invalid width / buffer stride!), at /dom/webgpu/ipc/WebGPUParent.cpp:693 NEW
1813760 Add a translator option NEW
1813775 Add proper support for non-bidirectional translations NEW
1813781 Add error messages to the about:translations NEW
1813783 Add tests for the LTR and RTL behavior of translations in about:translations NEW
1813784 Add a button to about:translations to swap the "from" and "to" language NEW
1813789 See if the translations worker can be moved from a ChromeWorker to an unprivileged Worker NEW
1813793 Prototype the in-page translations feature using the translations worker NEW
1813877 [a11y] Page name/URL isn't announced when swipe of the navbar is performed (switching tabs) NEW

71 Total; 71 Open (100%); 0 Resolved (0%); 0 Verified (0%);

Triage process


The goal of performance triage is to identify the extent to which bugs impact the performance of our products, and to move these bugs towards an actionable state. The goal is not to diagnose or fix bugs during triage. We triage bugs that have been nominated for triage and bugs in the Core::Performance component that do not have the performance impact project flag set.

During triage we may do any/all of the following:

  • Request further information from the reporter (such as a profile)
  • Set the performance impact project flag
  • Add performance keywords
  • Move the bug to a more appropriate component

Who is responsible for triage?

Everyone is welcome to take part in triage. By default, everyone on the performance team is enrolled in triage rotation, but we also have participants from outside the team.

How do I schedule a triage meeting?

If you are on triage duty, you will receive an invitation as a reminder to schedule the triage meeting on the shared performance calendar with the nominated sheriffs invited at a time that works for them. The responsibility of scheduling the meeting falls to the lead sheriff. Once a triage meeting has been scheduled, it’s a good idea to remove the reminder event from the calendar to avoid confusion. It’s a good idea to use the shared calendar, as this increases the visibility of the performance triage and allows other members of the team to contribute or observe the process.

What if a sheriff is unavailable?

The rotation script is not perfect, and doesn’t know when people are on PTO or otherwise unavailable. If the lead sheriff is available, it is their responsibility to either schedule the triage with the remaining available sheriff or to identify a suitable substitute for the unavailable sheriff(s). If the lead sheriff is unavailable, this responsibility passes onto the remaining available sheriffs.

How do I run a triage meeting?

The following describes the triage process to follow during the meeting:

  1. Ask if others would prefer you to share your screen. This can be especially helpful for those new to triage.
  2. Open the first triage query to show bugs nominated for triage or in the Core::Performance component without the performance impact project flag set. The bugs are sorted from oldest to newest. For each bug in the list, follow these steps:
    • Bugs that look like tasks that were filed by members of the Performance team will generally need to be moved to the Core::Performance Engineering component.
    • For defects: Determine if the bug is reproducible and actionable. If not, add a needinfo for the reporter asking for more information and move onto the next bug. We have a template that you can modify as needed.
    • For all bugs (including enhancements):
  3. Open the second triage query to show bugs that have open needinfo requests. The bugs are sorted from oldest to newest. For each bug in the list, follow these steps:
    • If the needinfo was set less than 2 weeks ago, move onto the next bug.
    • If the needinfo was set more than 2 weeks ago but less than 2 months ago, consider adding a needinfo for either: another reporter of the issue, someone with access to the appropriate platform(s) to attempt to reproduce the issue, or a relevant subject matter expert.
    • If the open needinfo was set more than 2 months ago, close the bug as inactive. You can modify the inactive bug template as needed.
  4. If time permits, open the third triage query to show recently opened bugs with performance related keywords in the summary. If any of these look like performance bugs, they can either be triaged the same way as bugs in the initial query or they can be nominated for triage in a subsequent meeting.

How do I determine the performance impact project flag?

The performance impact project flag is used to indicate a bug’s relationship to the performance of our products. It can be applied to all bugs, and not only defects. The triage calculator should be used to help determine the most appropriate value for this flag. In addition to setting the performance impact project flag, make sure to use the “Copy Bugzilla Comment” button and paste this as a comment on the bug.

For more information about what this flag, and it's settings mean see this blog post.

How do I determine the performance keywords?

There are several performance related keywords, which can be helpful to understand how our performance issues are distributed, or whenever there’s a concerted effort to improve a particular aspect of our products. The triage calculator may recommend keywords to set, and by typing “perf:” in the keywords field in Bugzilla, you will see the available options. Select all that apply to the bug.

How do I determine the correct Bugzilla component?

Ideally we would only have bugs in the Core::Performance component that are the responsibility of the engineers in the performance team. For performance bugs to have the best chance of being fixed, it's important to assign them to the correct component. In some cases the correct component will be obvious from the bug summary, description, or steps to reproduce. In other cases, you may need to do a bit more work to identify the component. For example, if there's a profile associated with the bug, you could see where the majority of time is being spent using the category annotations.

Triage calculator

The Performance Impact Calculator was developed to assist in identifying and applying the performance impact project flag and performance keywords consistently. If you have feedback or would like to suggest changes to this tool, please share these in the #perf-triage Matrix channel.

Triage rotation

The sheriffs are allocated on a weekly basis, which is published here. The rotation is generated by this script.


New bug

This template is included in the description for new bugs opened in the Core::Performance component. If a bug is opened in another component and then moved to Core::Performance, this template can be used as needed to request additional information from the reporter.

### Basic information

Steps to Reproduce:

Expected Results:

Actual Results:


### Performance recording (profile)

Profile URL:
(If this report is about slow performance or high CPU usage, please capture a performance profile by following the instructions at Then upload the profile and insert the link here.)

#### System configuration:

OS version:
GPU model:
Number of cores: 
Amount of memory (RAM): 

### More information

Please consider attaching the following information after filing this bug, if relevant:

 - Screenshot / screen recording
 - Anonymized about:memory dump, for issues with memory usage
 - Troubleshooting information: Go to about:support, click "Copy text to clipboard", paste it to a file, save it, and attach the file here.


Thanks so much for your help.

Moved to Core::Performance

This bug was moved into the Performance component. Reporter, could you make sure the following information is on this bug?

 - For slowness or high CPU usage, capture a profile with , upload it and share the link here.
 - For memory usage issues, capture a memory dump from about:memory and attach it to this bug.
 - Troubleshooting information: Go to about:support, click "Copy raw data to clipboard", paste it into a file, save it, and attach the file here.

Thank you.

No longer able to reproduce

This bug doesn’t seem to happen anymore in current versions of Firefox. Please reopen or file a new bug if you see it again.

No response from reporter

With no answer from the reporter, we don’t have enough data to reproduce and/or fix this issue. Please reopen or file a new bug with more information if you see it again.

Expected behaviour

This is expected behavior. Please reopen or file a new bug if you think otherwise.

Website issue

According to the investigation, this is a website issue. Please reopen or file a new bug if you think otherwise.