TestEngineering/Performance/Sheriffing/Workflow: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
Line 62: Line 62:


= How to read the graph =
= How to read the graph =
Before doing any investigation, you '''should assign''' the alert to yourself by clicking on [[File:Take button.png|Take button]] as described in [https://docs.google.com/document/d/1P7s4Co1jjY6KtXRHP3NEvN3rLFJ0RToc_pH9qfblE9E/edit#heading=h.q3d2le5h88n4 Updating alerts’ status] section.
<br />
To read the graph of a certain alert, you just need to put the mouse over it and click on the '''graph''' link that appears:
<br />
[[File:Item with graph link.png|Item with graph link]]
<br />
Starring it [[File:Alert star.png|Alert star]] you make sure you know which alert you read when come back to the summary.
<br />
[[File:Graph view alert tooltip.png|1200px|Graph view alert tooltip]]
<br />
The graph will show with a thin vertical line all the alerts associated with the test, so you need to make sure you’re looking at the right one by hovering or clicking on the datapoint. If the datapoint of the improvement/regression is not clear you might want to:
* zoom by drawing a rectangle over the desired area
* zoom out by clicking on the top graph
* extend the timeframe of the graph using the dropbox on the top of the page.
<br />
If the commit of the improvement/regression is not clear, take the desired action (usually Retrigger/Backfill) and make sure you write down in the notes of the alert ('''Add/Edit notes''') your name and what you did, so you or another colleague know what’s happening next time the alert is sheriffed. The pattern is: ''[yourname] comments''. We use to leave most recent comments first so we can easily read them when we come back.<br />
[[File:Alert summary add notes.png|1200px|Alert summary add notes]]
<br />
A clear improvement/regression appears usually when there is easily noticeable difference between two adjacent data points:
<br />

Revision as of 14:37, 21 January 2020

Context

Identifying the current firefox release meta-bug

To easily track all the regressions opened, for every Firefox release is created a meta-bug that will depend on the regressions open. Advanced search

To find all the Firefox release meta-bugs you just have to search in Advanced search for bugs with: Firefox 70 meta

Product: Testing
Component: Performance
Summary: Contains all of the strings [meta] Firefox, Perfherder Regression Tracking Bug You can leave the rest of the fields as they are. Advanced search filter

Result:
Firefox metabugs

Searching for an already opened regression

Sometimes treeherder include alerts related to a test in the same summary, sometimes it doesn’t. To make sure that the regression you found doesn’t have already a bug open, you have to search in the current Firefox release meta-bug for regressions open with the summary similar to the summary of your alert. Usually, if the test name matches, it might be what you’re looking for. But, be careful, if the test name matches that doesn’t mean that it is what you’re looking for. You need to check it thoroughly.

Those situations appear because a regression appears first on one repo (e.g. autoland) and it takes a few days until the causing commit gets merged to other repos (inbound, beta, central).

Noisy tests

Noisy test are unstable test whose values vary on a wide range and there’s not a clear point in the graph showing where the regression appeared. In general, these tests are not practical to investigate.
Noisy graph

Low value tests

Tests whose bugs often end up as WONTFIX/INVALID or tests which are often considered unreliable, not relevant to current Firefox revision etc.
Noisy low value graph

Filtering and reading the alerts

First thing after accessing the Perfherder alerts page is to make sure the filter is set to show the correct alerts you need to sheriff. The new alerts can be found in untriaged.
Alerts toolbar
The Hide… buttons are meant to reduce the visual pollution in case you don’t want to see the improvements or downstream/reassigned/invalid alerts.

Regression summary
The alerts are grouped by Summaries*. The tests:

  • may run on different platforms (e.g. Windows, Ubuntu, android, etc.)
  • can share the same suite (e.g. tp6m)
  • share the same framework (e.g. raptor, talos): if a particular commit trigger alerts from multiple frameworks, there will be different summaries for every framework.
  • measure various metrics (e.g. FCP, loadtime), but not all of the metrics trigger alerts

*By the book, an alert is one item of the summary, but we can refer also to a summary as an alert, depending on the context.

Though you can see in the summary items references to those namings, like below.
Summary item
Ideally, the intent of every patch landed to the mozilla repositories is to cause improvements, but in the real world it doesn’t happen like that. An alert summary can contain improvements, regressions or both.

  • the improvements are marked with green

Summary item - improvement

  • and the regressions are marked with red.

Summary item - regression
In terms of organizing the workflow, we should always prioritise the regressions over improvements.

How to read the graph

Before doing any investigation, you should assign the alert to yourself by clicking on Take button as described in Updating alerts’ status section.
To read the graph of a certain alert, you just need to put the mouse over it and click on the graph link that appears:
Item with graph link
Starring it Alert star you make sure you know which alert you read when come back to the summary.
Graph view alert tooltip
The graph will show with a thin vertical line all the alerts associated with the test, so you need to make sure you’re looking at the right one by hovering or clicking on the datapoint. If the datapoint of the improvement/regression is not clear you might want to:

  • zoom by drawing a rectangle over the desired area
  • zoom out by clicking on the top graph
  • extend the timeframe of the graph using the dropbox on the top of the page.


If the commit of the improvement/regression is not clear, take the desired action (usually Retrigger/Backfill) and make sure you write down in the notes of the alert (Add/Edit notes) your name and what you did, so you or another colleague know what’s happening next time the alert is sheriffed. The pattern is: [yourname] comments. We use to leave most recent comments first so we can easily read them when we come back.
Alert summary add notes
A clear improvement/regression appears usually when there is easily noticeable difference between two adjacent data points: