Chromium Code Reviews| 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? |
| +--> |