Performance Triage

From MozillaWiki
Jump to: navigation, search

Nomination

Bugzilla

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

GitHub

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:

Queries

Performance triage

Full Query
ID Summary Status
1380218 use HTTP OMT data delivery while loading JS script. NEW
1381425 use HTTP OMT data delivery while loading CSS stylesheet NEW
1775395 Uses most of my memory UNCONFIRMED
1793132 App links performs packageManager query on main thread on every page load NEW
1798945 Switch omni jar mimetype-for-extension lookups to use the new nsExternalHelperAppService::GetDefaultTypeFromURI method or similar NEW
1814262 firefox intermittently pegs all CPUs at 100% and becomes unusable (profile attached) UNCONFIRMED
1827841 No itemisation of GPU in taskmanager, no allocation to single tabs REOPENED
1829424 start in background at system startup UNCONFIRMED
1831463 Firefox freezes after installation of Container Tab Groups extension UNCONFIRMED
1831609 Canvas drawing during wheel events can fall behind (needs more backpressure) NEW
1831741 CPU throttling constantly UNCONFIRMED
1832221 excessive CPU usage with simple filter and transform on image UNCONFIRMED
1833048 Extreme CPU usage UNCONFIRMED
1833549 memory leak with many structured-clone-holders UNCONFIRMED
1833563 zhihu.com loading very slow after scroll down several times UNCONFIRMED
1833831 Add-on manager in msix builds spend ~400ms or more on startup doing mainthread IO `stat` calls on every language pack we ship to get the last modified date of all of them (and them uninstalls all of them!?) NEW
1834526 Large fetch in Web Worker in extension causes hang in Firefox extension process NEW
1834682 Regression on AWFY-Jetstream2-date-format-xparb-SP* tests around 22May2023 NEW
1834706 www.boredpanda.com - Homescreen app is laggy when installed to the home screen NEW
1834981 Hang on tab creation after an unspecified amount of time - SQLite Mutex Issue UNCONFIRMED
1835223 Update search (happens multiple times a day) leads to freeze of the browser UNCONFIRMED
1835456 Potential regression on AWFY-Speedometer-Inferno-TodoMVC/DeletingItems/Async around 23May2023 NEW
1835572 Consider removing callers to Performance::MemoryPressure() NEW
1836300 CPU spike when new tab page has many rows of icons NEW
1836562 100% CPU in scanArp, nsNetworkLinkService.mm on StreamTrans thread NEW

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


Performance triage (pending needinfo)

Full Query
ID Summary Status
647042 falls behind on keystrokes UNCONFIRMED
1329141 Panning/Zooming the Map of Google Flights is much slower in Firefox than Chrome NEW
1508765 Firefox is very slow to render poster PDF NEW
1735556 Overreporting of SVG image memory usage NEW
1773804 google sheets eats unusal amount of memory UNCONFIRMED
1774616 FF freezing while shopping online UNCONFIRMED
1778242 Firefox CP Web content taking up a lot of RAM 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 Flickr.com pages slow to load UNCONFIRMED
1792150 Firefox Doesn't loads pages for some time after fresh OS session UNCONFIRMED
1792733 firefox constantly freezing UNCONFIRMED
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
1795577 memory leak 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 amazon.com 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 https://web.arbeitsagentur.de/ausbildungssuche/ 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
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
1811134 Gmail consuming up to 6GB ram memory UNCONFIRMED
1811684 search in source code stalls UNCONFIRMED
1811701 address-space memory leak UNCONFIRMED
1811750 Performance.mark/measure takes a long time to execute UNCONFIRMED
1813325 Pdf.js UI is very sluggish with a specific pdf NEW
1814887 Memory leak during calls/meetings UNCONFIRMED
1815041 Tried opening the website and reloading it multiple times after 3 times it stuck www.haloocom.com may be its the website issue still searching for the issue UNCONFIRMED
1815205 Huge Memory Leak UNCONFIRMED
1820078 I try to access https://mysafaricost.com on firefox browser and it redirects always on some pages and stops and displays a broken site at the end while it opens on another browser. UNCONFIRMED
1821424 Memory leakage 110.0.01 Win11 22H2 UNCONFIRMED
1821555 Both FB Marketplace & Twitter lock up for 30-45 seconds every time I try to scroll. UNCONFIRMED
1822645 LinkedIn Profile Freezes all FF Windows and Ultimately Needs a Force Quit UNCONFIRMED
1823163 Firefox using 95% of my memory UNCONFIRMED
1823324 Firefox uses a huge amount of RAM (usually around 40gb) and is forced to quit UNCONFIRMED
1823435 Massive ram leak after update to 111 NEW
1824267 Reddit is lagging and not loading properly in firefox nightly UNCONFIRMED
1824587 Occasional extreme memory leak and CPU usage when opening specific website. Cannot stop from loading by pressing X. Have to kill tab process. UNCONFIRMED
1825190 Firefox freezes when selecting an existing open tab UNCONFIRMED
1827052 Firefox (and other Gecko-based browsers such as Waterfox) do not performance-scale as well as Chromium (blink-based) browsers (brave, ungoogled-chromium, thorium, etc.) as more and more tabs are created - (more than hundred tabs). UNCONFIRMED
1828037 Rapid right clicking, in edge cases, can freeze up the whole browser UNCONFIRMED
1829008 Firefox using 40-50GB of RAM UNCONFIRMED
1830123 Tab Freezing and must be closed UNCONFIRMED
1830217 Firefox freezes every few seconds UNCONFIRMED
1830338 Hight memory usage on 112.0.2 UNCONFIRMED
1830479 Active Hardware Acceleration freezes Firefox 111.0 after a while UNCONFIRMED
1830692 Incompatibility with Edge resulting in Firefox freeze without error message UNCONFIRMED
1830767 Set EventManager.resetIdleOnEvent = false by default. ASSIGNED
1831022 memory UNCONFIRMED
1833991 Firefox uses 400MB of memory with no tabs open UNCONFIRMED
1834657 Firefox has started using a massive amount of CPU processing and RAM since a few days ago UNCONFIRMED
1835317 Increased CPU load with 113.0.X UNCONFIRMED
1835355 Landing on redgifs.com URL causes Fx to freeze for 30+ seconds UNCONFIRMED

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


Recently opened bugs with performance keywords in the summary

Full Query
ID Summary Status
1834555 Investigate HTTP/3 performance NEW
1834558 WebGPU: Update vendored CTS ASSIGNED
1834569 WebGPU CTS upstream should only require generating WPT tests once ASSIGNED
1834582 Signout is really slow during initial sync NEW
1834653 Validate jitterBufferTarget performance and stats for Video after upstream changes land NEW
1834718 Hang (or too slow) in store.google.com in Galaxy Tab S8+ NEW
1834740 Let CET compatible modules only for the GPU process ride the trains ASSIGNED
1834762 Form Autofill Data gets doubled when performing the second import NEW
1834818 Support samply Jitdump extensions in PerfSpewer NEW
1834979 High memory used for gpu-committed and gpu-shared NEW
1835124 Using Firefox on Fedora 38 many webgl games don't work and only shows a black background. I am using Fedora 38 and i have an nvidia gpu and i have a secondary monitor on the r7 intergrated gpu UNCONFIRMED
1835227 QuickActions are not displayed the second time for the same url after performing specific actions NEW
1835344 Ensure no translations UI is shown on unsupported CPUs NEW
1835361 Translations panel does not receive keyboard focus when activated with Enter/Space NEW
1835364 VoiceOver on Firefox Nightly stopped responding while trying to enter a text group on a Translation panel NEW
1835367 Translations panel includes a Translate to combobox that misses programmatic label NEW
1835398 Translations panel toggle does not communicate its collapsed/expanded state NEW
1835406 Keep focus on the Translate This Page button after a Show Original option is activated NEW
1835418 Translations panel toggle does not clearly communicate its pressed/active state NEW
1835501 YouTube channels horizontal scroll too slow NEW
1835571 Show the translations button when unchecking never-translate checkboxes NEW
1835586 Enable MITIGATION_DYNAMIC_CODE_DISABLE (Arbitrary Code Guard, ACG) in GPU process on Windows NEW
1835622 Perform length unit conversion in a single place ASSIGNED
1835636 writeBuffer() does not follow WebGPU specification with TypedArray UNCONFIRMED
1835652 Add a UI state for the language loading in the translations panel NEW
1835653 Ensure that syncing from RemoteSettings is being done regularly for translations files NEW
1835693 Investigate preference read count for "browser.translations.logLevel" NEW
1835804 Experiment on nightly with complete removal of ability to perform audio decoding outside of Utility NEW
1835860 [Win] Focus order of buttons on the Translate This Page panel is not following visual reading order NEW
1835865 [Win HCM] Translate This Page icon is partially invisible while expanded or hovered when a translation is done NEW
1835871 Translations panel dialog element misses accessible name NEW
1835876 Consider disabling code memory protection in the content process ASSIGNED
1835950 Spotlight message slow to render NEW
1836032 [Wayland] Locked mouse cursor is slow compared to X11 and regular one NEW
1836040 about:preferences “Download languages for offline translation.” section does not get updated for all languages after performing translations NEW
1836063 Poor performance with translucent rounded-rectangles with box shadows UNCONFIRMED
1836085 Take check for requested GC out of the nursery allocation fast path NEW
1836117 Page translation doesn't work on https://mrotherguy.github.io/fx-nightly-changelog/ NEW
1836187 Add support for --enable-perf on Android. ASSIGNED
1836199 Nvidia+Intel dual GPU: PDF rendering freezes the system frequently for several seconds. UNCONFIRMED
1836204 Re-enable browser.translations.enable for automation NEW
1836304 Make Translations section in about:preferences a richlistbox NEW
1836335 Run memory-intensive jit-tests individually and increase the parallelism on the rest on Windows NEW
1836344 The Download and Delete buttons in the Translations section in about:preferences are not centered ASSIGNED
1836359 Switch to weak-ref parent links (instead of strong-refs) for webgpu objects (where possible) NEW
1836451 List about:translations in about:about NEW
1836465 No progress indication for translation downloads NEW
1836467 32.58 - 2.23% tp5o responsiveness / startup_about_home_paint_realworld_webextensions + 6 more (Linux, Windows) regression on Mon May 29 2023 NEW
1836479 Triage `disabled` tests in WebCPU CTS ASSIGNED
1836505 Ship a json dump of translation RemoteSettings without the attachments ASSIGNED
1836508 Handle writing of dom::Performance entries when OnStopRequest is moved OMT NEW
1836520 Files in `dom/webgpu/` not marked as covered under testing, despite being covered by WebGPU CTS NEW
1836528 DOM Worker segfault, error 6 in libxul.so, likely on CPU UNCONFIRMED
1836543 --enable-perf is asserting on shutdown with --enable-debug. NEW
1836633 Translations panel menupopup covers the settings gear button ASSIGNED
1836679 Object.keys can be 30x slower in SM NEW
1836726 Subpixel AA cannot be force-disabled to work around performance issues NEW
1836790 AV1 8K 60fps decoding low performance with intel 11gen xe graphics card UNCONFIRMED
1836805 Restore Linux CI for WebGPU CTS NEW
1836810 Add Mac CI for WebGPU CTS NEW
1836811 Add Android CI for WebGPU CTS NEW
1836816 Use D3D12/DX12 in WebGPU on Windows by default NEW

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


Triage process

Introduction

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.

What if things don't go as expected?

Don't panic! The triage process is not expected to be perfect, and can improve with your feedback. Maybe the result of the triage calculator doesn't feel right, or you find a scenario that's not covered in these guidelines. In this case we recommend that you bring it up in #perf-triage, or consider scheduling a short meeting with some triage leads (you can see some recent leads in the triage rotation). If in doubt, leave a comment on the bug with your thoughts and move on. There's a chance someone will respond, but if not the next performance triage sheriffs may have some other ideas.

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.

How do I read a performance profile?

It's useful to be able to understand a profile generated by the Firefox Profiler, and hopefully someone in the triage meeting will be able to help. If you find an interesting profile, or just want to understand how to use them to analyse a performance problem, we encourage you to post a link to the profile (or bug) in #joy-of-profiling where someone will be happy to help. The profile may even be analysed during one of the regular "Joy of Profiling" open sessions that can be found on the Performance Office Hours calendar.

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.

Templates

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 https://profiler.firefox.com/. 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 http://profiler.firefox.com/ , 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.