Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(100)

Unified Diff: tools/perf/docs/perf_regression_sheriffing.md

Issue 1511993002: Add initial version of performance regression sheriffing documentation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/perf/docs/perf_regression_sheriffing.md
diff --git a/tools/perf/docs/perf_regression_sheriffing.md b/tools/perf/docs/perf_regression_sheriffing.md
new file mode 100644
index 0000000000000000000000000000000000000000..240875b237b19a5e485a6128a218f05f6e4ee54c
--- /dev/null
+++ b/tools/perf/docs/perf_regression_sheriffing.md
@@ -0,0 +1,87 @@
+# Perf Regression Sheriffing
+
+The perf regression sheriff tracks performance regressions in Chrome's
+continuous integration tests. Note that a [new rotation](perf_bot_sheriffing.md)
+has been created to ensure the builds and tests stay green, so the perf
+regression sheriff role is now entirely focused on performance.
+
+## Key Responsibilities
+
+ * [Triage Regressions on the Perf Dashboard](#triage)
+ * [Follow up on Performance Regressions](#followup)
+ * [Give Feedback on our Infrastructure](#feedback)
+
+###<a name="triage"></a> Triage Regressions on the Perf Dashboard
+
+Open the perf dashboard [alerts page](https://chromeperf.appspot.com/alerts).
+
+In the upper right corner, sign in with your Google account. The page shows
RyanS 2015/12/09 18:58:56 I'd make a bigger deal out of signing in, or at le
sullivan 2015/12/09 20:37:27 Done.
+two lists; you are responsible for triaging **Performance Alerts**. The list
+can be sorted by clicking on the column header. When you click on the checkbox
+next to an alert, all the other alerts that occurred in the same revision
+range will be highlighted.
+
+Check the boxes next to the alerts you want to take a look at, and click the
+"Graph" button. You'll be taken to a page with a table at the top listing all
+the alerts that have an overlapping revision range with the one you chose, and
+below it the dashboard shows graphs of all the alerts checked in that table.
+
+1. **Look at the graph**.
+ * If the alert appears to be **within the noise**, click on the red
+ exclamation point icon for it in the graph and hit the "Invalid" button.
+ * If the alert is **shifted right or left** a little, click on it and use the
RyanS 2015/12/09 18:58:56 I don't think "shifted" is clear here. Maybe you w
sullivan 2015/12/09 20:37:27 Thanks, I couldn't think of good wording here :)
+ "nudge" menu to move it into place.
+ * If there is a line labeled "ref" on the graph, that is the reference build.
+ It's an older version of Chrome, used to help us sort out whether a change
+ to the bot or test might have caused the graph to jump, rather than a real
+ performance regression. If **the ref build moved at the same time as the
+ alert**, click on the alert and hit the "Invalid" button.
+2. **Look at the other alerts** in the table to see if any should be grouped together.
+ Note that the bisect will automatically dupe bugs if it finds they have the
+ same culprit, so you don't need to be too aggressive about grouping alerts
+ that might not be related. Some signs alerts should be grouped together:
+ * If they're all in the same test suite
+ * If they all regressed the same metric (a lot of commonality in the Test
+ column)
+3. **Triage the group of alerts**. Check all the alerts you believe are related,
+ and press the triage button.
+ * If one of the alerts already has a bug id, click "existing bug" and use
+ that bug id.
+ * Otherwise click "new bug". Be sure to see the [test owner](go/perf-owners)
RyanS 2015/12/09 18:58:55 Do you need to include "http://" on the go link?
sullivan 2015/12/09 20:37:27 Done.
+ on the bug.
+4. **Look at the revision range** for the regression. You can see it in the
+ tooltip on the graph. If you see any likely culprits, cc the authors on the
+ bug.
+5. **Optionally, bisect**. The perf dashboard will automatically kick off a
picksi 2015/12/10 10:50:24 It's not clear to me whether we should lean in fav
sullivan 2015/12/10 15:25:34 Done.
+ bisect for each bug you file. But if you think the regression is much clearer
+ on one platform, or a specific page of a page set, feel free to click on the
+ alert on that graph and kick off a bisect for it.
+
+###<a name="followup"></a> Follow up on Performance Regressions
RyanS 2015/12/09 18:58:56 I think it would be good to include a first paragr
sullivan 2015/12/09 20:37:27 Done.
sullivan 2015/12/09 20:37:27 Done.
+
+After your shift, please try to follow up on the bugs you filed weekly. Kick off
+new bisects if the previous ones failed, and if the bisect picks a likely
+culprit follow up to ensure the CL author addresses the problem. If you are
+certain that a specific CL caused a performance regression, it is okay to revert
picksi 2015/12/10 10:50:24 Do we need to be more assertive than 'it is okay t
sullivan 2015/12/10 15:25:33 Done.
+that CL.
+
+###<a name="feedback"></a> Give Feedback on our Infrastructure
+
+Perf regression sheriffs have their eyes on the perf dashboard and bisects
+more than anyone else, and their feedback is invaluable for making sure these
+tools are accurate and improving them. Please file bugs and feature requests
+as you see them:
+
+ * **Perf Dashboard**: Please use the red "Report Issue" link in the navbar.
+ * **Perf Bisect/Trybots**: If a bisect is identifying the wrong CL as culprit
+ or missing a clear culprit, or not reproducing what appears to be a clear
+ regression, please link the comment the bisect bot posted on the bug at
+ [go/bad-bisects](https://docs.google.com/spreadsheets/d/13PYIlRGE8eZzsrSocA3SR2LEHdzc8n9ORUoOE2vtO6I/edit#gid=0).
+ The team triages these regularly. If you spot a really clear bug (bisect
+ job red, bugs not being updated with bisect results) please file it in
+ crbug with label `Cr-Tests-AutoBisect`.
+ * **Noisy Tests**: Please file a bug in crbug with label `Cr-Tests-Telemetry`
+ and [cc the owner](http://go/perf-owners).
+<!-- Unresolved issues:
RyanS 2015/12/09 18:58:56 This comment didn't work - I see it in the preview
sullivan 2015/12/09 20:37:27 Done.
+1. Are perf sheriffs responsible for static initializers failures?
+-->
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698