OLD | NEW |
1 # Chrome Network Bug Triage | 1 # Chrome Network Bug Triage |
2 | 2 |
3 The Chrome network team uses a two day bug triage rotation. The main goals are | 3 The Chrome network team uses a two day bug triage rotation. The main goals are |
4 to identify and label new network bugs, and investigate network bugs when no | 4 to identify and label new network bugs, and investigate network bugs when no |
5 label seems suitable. | 5 label seems suitable. |
6 | 6 |
7 ## Responsibilities | 7 ## Responsibilities |
8 | 8 |
9 ### Required: | 9 ### Required, in rough order of priority: |
10 * Identify new crashers | 10 * Identify new network bugs on the tracker. |
11 * Identify new network issues. | 11 * Investigate UMA notifications. |
12 * Request data about recent Internals>Network issue. | 12 * Investigate recent Internals>Network issues with no subcomponent. |
13 * Investigate each recent Internals>Network issue. | 13 * Follow up on Needs-Feedback issues for all network components. |
14 * Monitor UMA histograms and Chirp/Gasper alerts. | 14 * Identify and file bugs for significant new crashers. |
15 | 15 |
16 ### Best effort: | 16 ### Best effort: |
17 * Investigate unowned and owned-but-forgotten net/ crashers | 17 * Investigate unowned and owned-but-forgotten net/ crashers. |
18 * Investigate old bugs | 18 * Investigate old bugs. |
19 * Close obsolete bugs. | 19 * Close obsolete bugs. |
20 | 20 |
21 All of the above is to be done on each rotation. These responsibilities should | 21 All of the above is to be done on each rotation. These responsibilities should |
22 be tracked, and anything left undone at the end of a rotation should be handed | 22 be tracked, and anything left undone at the end of a rotation should be handed |
23 off to the next triager. The downside to passing along bug investigations like | 23 off to the next triager. The downside to passing along bug investigations like |
24 this is each new triager has to get back up to speed on bugs the previous | 24 this is each new triager has to get back up to speed on bugs the previous |
25 triager was investigating. The upside is that triagers don't get stuck | 25 triager was investigating. The upside is that triagers don't get stuck |
26 investigating issues after their time after their rotation, and it results in a | 26 investigating issues after their time after their rotation, and it results in a |
27 uniform, predictable two day commitment for all triagers. | 27 uniform, predictable two day commitment for all triagers. |
28 | 28 |
29 ## Details | 29 ## Details |
30 | 30 |
31 ### Required: | 31 ### Required: |
32 | 32 |
33 * Identify new crashers that are potentially network related. You should check | 33 * Identify new network bugs on the bug tracker. All Unconfirmed issues filed |
34 the most recent canary, the previous canary (if the most recent less than a | 34 during your triage rotation should be scanned, and, for suspected network |
35 day old), and any of dev/beta/stable that were released in the last couple of | 35 bugs, a network component assigned and an about:net-internals log requested. |
36 days, for each platform. File Internals>Network bugs on the tracker when | 36 A triager is responsible for looking at bugs reported from noon PST / 3:00 pm |
37 new crashers are found. | 37 EST of the last day of the previous triager's rotation until the same time on |
| 38 the last day of their rotation. Once you've changed labels on a bug, mark it |
| 39 Untriaged, so other triagers sorting through Unconfirmed bugs won't see it. |
| 40 |
| 41 * For desktop bugs, ask for a net-internals log and give the user a link to |
| 42 https://sites.google.com/a/chromium.org/dev/for-testers/providing-network-
details |
| 43 (A link there appears on about:net-internals, for easy reference) for |
| 44 instructions. On mobile, point them to about:net-export. In either case, |
| 45 attach the Needs-Feedback label. |
38 | 46 |
39 * Identify new network bugs, both on the bug tracker and on the crash server. | 47 * Investigate UMA notifications. |
40 All Unconfirmed issues filed during your triage rotation should be scanned, | |
41 and, for suspected network bugs, a network component assigned. A triager is | |
42 responsible for looking at bugs reported from noon PST / 3:00 pm EST of the | |
43 last day of the previous triager's rotation until the same time on the last | |
44 day of their rotation. | |
45 | 48 |
46 * Investigate each recent (new comment within the past week or so) | 49 * UMA notifications ("chirps") are alerts based on UMA histograms that are |
47 Internals>Network issue, driving getting information from reporters as | 50 sent to chrome-network-debugging@google.com. Triagers should subscribe |
48 needed, until you can do one of the following: | 51 to this list. When an alert fires, the triager should determine if the |
| 52 alert looks to be real and file a bug with the appropriate label if so. |
| 53 Note that if no label more specific than Internals>Network is appropriate, |
| 54 the responsibility remains with the triager to continue investigating the |
| 55 bug, as above. |
| 56 |
| 57 * The triager is responsible for looking at any notification previous |
| 58 triagers did not, so when an issue is investigated, the person who did |
| 59 so should respond to chrome-network-debugging@google.com with a short |
| 60 email, describing their conclusions. Future triagers can then use the |
| 61 fact an alert was responded to as an inidicator of which of them need |
| 62 to be followed up on. |
| 63 |
| 64 * Investigate [Uncomfirmed / Untriaged Internals>Network issues that don't |
| 65 belong to a more specific network component](https://bugs.chromium.org/p/chrom
ium/issues/list?can=2&q=component%3DInternals%3ENetwork+status%3AUnconfirmed,Unt
riaged+-label:Needs-Feedback&sort=-modified), |
| 66 prioritizing the most recent issues, ones with the most responsive reporters, |
| 67 and major crashers. This will generally take up the majority of your time as |
| 68 triager. Continue digging until you can do one of the following: |
49 | 69 |
50 * Mark it as *WontFix* (working as intended, obsolete issue) or a | 70 * Mark it as *WontFix* (working as intended, obsolete issue) or a |
51 duplicate. | 71 duplicate. |
52 | 72 |
53 * Mark it as a feature request. | 73 * Mark it as a feature request. |
54 | 74 |
| 75 * Mark it as Needs-Feedback. |
| 76 |
55 * Remove the Internals>Network component, replacing it with at least one | 77 * Remove the Internals>Network component, replacing it with at least one |
56 more specific network component or non-network component. Promptly adding | 78 more specific network component or non-network component. Replacing the |
57 non-network components when appropriate is important to get new bugs in fr
ont | 79 Internals>Network component gets it off the next triager's radar, and |
58 of someone familiar with the relevant code, and to remove them from the | 80 in front of someone more familiar with the relevant code. Note that |
59 next triager's radar. Because of the way the bug report wizard works, a | 81 due to the way the bug report wizard works, a lot of bugs incorrectly end |
60 lot of bugs incorrectly end up with the network component. | 82 up with the network component. |
61 | 83 |
62 * The issue is assigned to an appropriate owner. | 84 * The issue is assigned to an appropriate owner, and make sure to mark it |
| 85 as "assigned" so the next triager doesn't run into it. |
63 | 86 |
64 * If there is no more specific component for a bug, it should be investigate
d | 87 * If there is no more specific component for a bug, it should be |
65 until we have a good understanding of the cause of the problem, and some | 88 investigated by the triager until we have a good understanding of the |
66 idea how it should be fixed, at which point its status should be set to | 89 cause of the problem, and some idea how it should be fixed, at which point |
67 Available. Future triagers should ignore bugs with this status, unless | 90 its status should be set to Available. Future triagers should ignore bugs |
68 investigating stale bugs. | 91 with this status, unless investigating stale bugs. |
69 | 92 |
70 * Monitor UMA histograms and Chirp/Gasper alerts. | 93 * Follow up on [Needs-Feedback issues for all components owned by the network |
| 94 stack team](https://bugs.chromium.org/p/chromium/issues/list?can=2&q=component
%3AInternals%3ENetwork%2CUI>Browser>Downloads+-component%3AInternals%3ENetwork%3
EDataProxy+-component%3AInternals%3ENetwork%3EDataUse+-component%3AInternals%3EN
etwork%3EVPN+Needs%3DFeedback). |
71 | 95 |
72 * For each Chirp and Gasper alert that fires, the triager should determine | 96 * Remove label once feedback is provided. Continue to investigate, if |
73 if the alert is real (not due to noise), and file a bug with the | 97 the previous section applies. |
74 appropriate component if so. Note that if no component more specific than | 98 |
75 Internals>Network is appropriate, the responsibility remains with the | 99 * If the Needs-Feedback label has been present for one week, ping the |
76 triager to continue investigating the bug, as above. | 100 reporter. |
| 101 |
| 102 * Archive after two weeks with no feedback, telling users to file a new |
| 103 bug if they still have the issue, with the requested information, unless |
| 104 the reporter indicates they'll provide data when they can. In that case, |
| 105 use your own judgment for further pings or archiving. |
| 106 |
| 107 * Identify significant new browser process |
| 108 [crashers](https://goto.google.com/chromecrash) that are potentially network |
| 109 related. You should look at crashes for the most recent canary that has at |
| 110 least a day of data, and if there's been a dev or beta release from the start |
| 111 of the last triager's shift to the start of yours, you should also look at |
| 112 that once it has at least a day of data. Recent releases available |
| 113 [here](https://omahaproxy.appspot.com/). If both dev and beta have been |
| 114 released in that period, just look at beta. File Internals>Network bugs on |
| 115 the tracker when new crashers are found. Bugs should only be filed for |
| 116 crashes that are both in the top 100 for each release and occurred for more |
| 117 than two users. |
77 | 118 |
78 ### Best Effort (As you have time): | 119 ### Best Effort (As you have time): |
79 | 120 |
| 121 * Investigate old bugs, and bugs associated with Internals>Network |
| 122 subcomponents. |
| 123 |
80 * Investigate unowned and owned but forgotten net/ crashers that are still | 124 * Investigate unowned and owned but forgotten net/ crashers that are still |
81 occurring (As indicated by | 125 occurring (As indicated by |
82 [go/chromecrash](https://goto.google.com/chromecrash)), prioritizing frequent | 126 [go/chromecrash](https://goto.google.com/chromecrash)), prioritizing frequent |
83 and long standing crashers. | 127 and long standing crashers. |
84 | 128 |
85 * Investigate old bugs, prioritizing the most recent. | |
86 | |
87 * Close obsolete bugs. | 129 * Close obsolete bugs. |
88 | 130 |
89 If you've investigated an issue (in code you don't normally work on) to an | |
90 extent that you know how to fix it, and the fix is simple, feel free to take | |
91 ownership of the issue and create a patch while on triage duty, but other tasks | |
92 should take priority. | |
93 | |
94 See [bug-triage-suggested-workflow.md](bug-triage-suggested-workflow.md) for | 131 See [bug-triage-suggested-workflow.md](bug-triage-suggested-workflow.md) for |
95 suggested workflows. | 132 suggested workflows. |
96 | 133 |
97 See [bug-triage-labels.md](bug-triage-labels.md) for labeling tips for network | 134 See [bug-triage-labels.md](bug-triage-labels.md) for labeling tips for network |
98 and non-network bugs. | 135 and non-network bugs. |
99 | 136 |
100 See [crash-course-in-net-internals.md](crash-course-in-net-internals.md) for | 137 See [crash-course-in-net-internals.md](crash-course-in-net-internals.md) for |
101 some help on getting started with about:net-internals debugging. | 138 some help on getting started with about:net-internals debugging. |
OLD | NEW |