{"id":436,"date":"2022-11-07T04:39:04","date_gmt":"2022-11-07T12:39:04","guid":{"rendered":"https:\/\/blog.mozilla.org\/performance\/?p=436"},"modified":"2022-11-07T04:39:04","modified_gmt":"2022-11-07T12:39:04","slug":"understanding-performance-impact","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/performance\/2022\/11\/07\/understanding-performance-impact\/","title":{"rendered":"Understanding Performance Impact"},"content":{"rendered":"<p>A few years ago, a small group of engineers at Mozilla introduced a process to identify the tasks that would have the greatest impact on the performance of Firefox. They would gather each week to look over user submitted profiles, and discuss bugs reports. Each bug would then be assigned a category and a score to reflect its impact on performance. This would help teams to prioritise their work for performance, and proved crucial in delivering the significant speed improvements that were present in <a href=\"https:\/\/blog.mozilla.org\/en\/mozilla\/introducing-firefox-quantum\/\">Firefox Quantum<\/a>.<\/p>\n<p>Fast forward to today, and this performance triage process has continued, but you\u2019d be forgiven for not knowing about it. This year we have been making improvements to the way bugs are nominated for triage, how the impact and keywords are determined, and getting more people involved. I\u2019d like to share some of these changes with you, starting with how to request a performance impact review for a bug.<\/p>\n<h2>How performance impact reviews are requested<\/h2>\n<p>If you believe a bug may have an impact on the performance of our products, you can nominate it for triage. You can do this by editing the bug and setting the \u201cPerformance Impact\u201d flag to \u201c?\u201d.<\/p>\n<div id=\"attachment_437\" style=\"width: 590px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-437\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-437 size-medium\" src=\"http:\/\/blog.mozilla.org\/performance\/files\/2022\/11\/image3-580x416.png\" alt=\"Screenshot of Bugzilla showing the Performance Impact flag with the values expanded.\" width=\"580\" height=\"416\" srcset=\"https:\/\/blog.mozilla.org\/performance\/files\/2022\/11\/image3-580x416.png 580w, https:\/\/blog.mozilla.org\/performance\/files\/2022\/11\/image3-768x550.png 768w, https:\/\/blog.mozilla.org\/performance\/files\/2022\/11\/image3.png 826w\" sizes=\"(max-width: 580px) 100vw, 580px\" \/><p id=\"caption-attachment-437\" class=\"wp-caption-text\">Performance Impact in Bugzilla<\/p><\/div>\n<p>This will cause the bug to show up in the <a href=\"https:\/\/wiki.mozilla.org\/Performance\/Triage#Queries\">queries<\/a> used by our triage sheriffs, who will attempt to determine the performance impact at the next meeting. If you have any additional details that may help, we encourage you to mention these as a comment in the bug. If you\u2019re interested in joining the discussion, you can reach out to the lead of the <a href=\"https:\/\/mozilla.github.io\/perf-triage\/\">next triage meeting published here<\/a>.<\/p>\n<h2>How performance impact is determined<\/h2>\n<p>In the past we relied on the knowledge and experience of the triage sheriffs attending the meeting to determine the performance impact. Whilst efficient, this approach wasn\u2019t great for onboarding new members to the triage rotation, and could also be inconsistent. We resolved this by building a tool to calculate the impact from a series of simple prompts.<\/p>\n<div id=\"attachment_438\" style=\"width: 590px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.mozilla.org\/performance\/files\/2022\/11\/image1.png\"><img aria-describedby=\"caption-attachment-438\" decoding=\"async\" loading=\"lazy\" class=\"size-medium wp-image-438\" src=\"http:\/\/blog.mozilla.org\/performance\/files\/2022\/11\/image1-580x309.png\" alt=\"Screenshot of the performance impact calculator\" width=\"580\" height=\"309\" srcset=\"https:\/\/blog.mozilla.org\/performance\/files\/2022\/11\/image1-580x309.png 580w, https:\/\/blog.mozilla.org\/performance\/files\/2022\/11\/image1-940x500.png 940w, https:\/\/blog.mozilla.org\/performance\/files\/2022\/11\/image1-768x409.png 768w, https:\/\/blog.mozilla.org\/performance\/files\/2022\/11\/image1-1000x532.png 1000w, https:\/\/blog.mozilla.org\/performance\/files\/2022\/11\/image1.png 1064w\" sizes=\"(max-width: 580px) 100vw, 580px\" \/><\/a><p id=\"caption-attachment-438\" class=\"wp-caption-text\">Performance Impact Calculator<\/p><\/div>\n<p>Starting with a base impact score of zero, each answer in the calculator either increases the base impact score or applies a multiplier. For example:<\/p>\n<ul>\n<li aria-level=\"1\">Causes noticeable jank: +2<\/li>\n<li aria-level=\"1\">Severe page load impact: +10<\/li>\n<li aria-level=\"1\">Affects major websites: \u00d75<\/li>\n<li aria-level=\"1\">Reproduces in Chrome: \u00d70.3<\/li>\n<li aria-level=\"1\">Total impact score = (2+10)\u00d75\u00d70.3 = 18<\/li>\n<\/ul>\n<p>For insight into how each of the options affects the score, you can check the \u201cDebug\u201d button to display a breakdown next to the labels.<\/p>\n<div id=\"attachment_439\" style=\"width: 323px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-439\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-439\" src=\"http:\/\/blog.mozilla.org\/performance\/files\/2022\/11\/image2.png\" alt=\"Screenshot showing debug information next to some of the calculator options.\" width=\"313\" height=\"172\" srcset=\"https:\/\/blog.mozilla.org\/performance\/files\/2022\/11\/image2.png 313w, https:\/\/blog.mozilla.org\/performance\/files\/2022\/11\/image2-300x165.png 300w\" sizes=\"(max-width: 313px) 100vw, 313px\" \/><p id=\"caption-attachment-439\" class=\"wp-caption-text\">Calculator with debug enabled<\/p><\/div>\n<p>If the score is greater than zero then the bug is considered to have an impact on performance. The scores relate to the impact flag values as follows:<\/p>\n<ul>\n<li aria-level=\"1\">0: none<\/li>\n<li aria-level=\"1\">0-40: medium<\/li>\n<li aria-level=\"1\">40+: high<\/li>\n<\/ul>\n<p>Note that the calculator is being adjusted regularly to ensure it gives an accurate reflection of the performance impact, therefore the values above may at some point be out of date. If you disagree with a performance impact result, please add a comment on the bug with your concerns and either needinfo the triage sheriff or re-nominate the bug for triage. Feel free to <a href=\"https:\/\/mozilla.github.io\/perf-triage\/calculator.html\">try the calculator out for yourself<\/a>, and if you have any suggestions for improvements, please <a href=\"https:\/\/github.com\/mozilla\/perf-triage\/issues\">open an issue<\/a>.<\/p>\n<h2>How performance impact affects you<\/h2>\n<p>It\u2019s important to note that the performance team does not directly interfere with the priorities of bugs outside of their own components. During triage, bugs will be reassigned wherever possible to the most appropriate component, and it is the responsibility of the triage owners for those components to set a priority. The goal of the performance impact flag is to provide additional context that may assist the triage owners in their role. That said, a bug with a high performance impact on the product quality and experience could reasonably be expected to cause a Firefox user to switch browsers, and therefore should be considered S2 in severity.<\/p>\n<h2>How to get help<\/h2>\n<p>The <a href=\"https:\/\/wiki.mozilla.org\/Performance\/Triage\">performance triage wiki<\/a> serves as a guide for running the triage, and goes into some detail on the Bugzilla fields and queries used. Please note that the impact calculator is constantly being tweaked, and your feedback is essential for helping us to improve the formula. If you notice a bug with a performance impact that doesn\u2019t feel quite right, please let us know. You can do this by changing the \u201cperformance impact\u201d flag to \u201c?\u201d and adding a comment, or by reaching out in <a href=\"https:\/\/chat.mozilla.org\/#\/room\/#perf-help:mozilla.org\">#perf-help on Matrix<\/a> or Slack.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A few years ago, a small group of engineers at Mozilla introduced a process to identify the tasks that would have the greatest impact on the performance of Firefox. They &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/performance\/2022\/11\/07\/understanding-performance-impact\/\">Read more<\/a><\/p>\n","protected":false},"author":513,"featured_media":438,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[457023,311,610,8101],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/performance\/wp-json\/wp\/v2\/posts\/436"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/performance\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/performance\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/performance\/wp-json\/wp\/v2\/users\/513"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/performance\/wp-json\/wp\/v2\/comments?post=436"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/performance\/wp-json\/wp\/v2\/posts\/436\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/performance\/wp-json\/wp\/v2\/media\/438"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/performance\/wp-json\/wp\/v2\/media?parent=436"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/performance\/wp-json\/wp\/v2\/categories?post=436"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/performance\/wp-json\/wp\/v2\/tags?post=436"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}