3 Developers do a lot of work to help with a bug that may not directly lead to
4 fixing the bug. This can include triaging a bug (e.g. set the correct component
5 on the bug, find the right owner for the bug, loop somebody else in to
6 investigate the bug, etc.), requesting more information from the OP,
7 investigating to help the bug owner resolve the bug, etc. We want to be able to
8 identify and measure such activities, so that these efforts can be acknowledged
11 The `user-activity.js` script helps measure the bug-activity of a developer in
12 various monorail projects. Example usage:
15 nodejs tools/crbug/user-activity.js \
16 -u sadrul@chromium.org,sadrul@google.com \
17 -p chromium,skia,v8,angleproject \
21 The following command line flags are supported:
23 - `-u`: The user-email(s) for the developers. If the user uses multiple
24 accounts (e.g. @google.com, @chromium.org, etc.), then specify all of them
27 - `-p`: The project(s) the developer participated in. If the developer
28 participated in the bug-tracker for multiple projects (e.g. chromium,
29 angleproject, v8, etc.), then list all of them comma-separated. Default is
32 - `-s`: The starting date from when the activities should be counted.
36 Following are some notes on how activity is measured:
38 - Changing any of the following in a bug counts as an activity:
44 - Blocked on / Blocking
45 - Leaving a comment on the bug counts as an activity.
46 - Starting a pinpoint job for a bug counts as a bug activity.
47 - Only one activity is counted for a bug for a contributor per day. To explain:
48 - *Why per day?* Contributors often spend a significant amount of effort
49 resolving a bug spanning across several days. We want to encourage and
50 reward such efforts. So the bug-activity is counted for each day the
51 contributor is active on the bug.
52 - *Why count only one per day?* Sometimes when triaging a bug (or when
53 filing a bug), multiple updates are made to the bug in quick succession
54 (e.g. Oops, forgot to include a component, or cc uberswe@ for real this
55 time, etc.). So to avoid overcounting such activities, only one activity
56 is counted on a bug per day.
57 - To avoid overcounting bulk-updates, updates made too close to each other
58 (within seconds) are merged into a single activity.