Closed Bug 1441070 Opened 4 years ago Closed 4 years ago

Instrument toolbox panel opening with event telemetry


(DevTools :: General, enhancement)

57 Branch
Not set


(firefox61 fixed)

Firefox 61
Tracking Status
firefox61 --- fixed


(Reporter: Harald, Assigned: miker)


(Blocks 1 open bug)



(2 files)

The events are documented in the Amplitude ping format:

:gfritzsche owns the mapping from Event Telemetry pings into Amplitude. So far we agreed to use the first set of parameters to break down the Amplitude event name, leave `value` empty and use the `extra` object for user and event properties.

For row 22 the event telemetry entry ([timestamp, category, method, object, value, extra]) might look like:

[timestamp, "dt", "enter", "console", "", {host: "bottom", width: 956, message_count: 100, cold: true}]

We should get a patch up for review first that reports the telemetry, which will help us find edge cases where our simple assumptions on formatting fell short.
Assigning to me to figure out resources with the team.
Assignee: jdescottes → hkirschner
I get what digitarald wants: We are changing enter.pane.console to e.g. enter.console (moving the value to the object column and setting value to null).

So the following events:
dt_console - enter
dt_inspect - enter
dt_debug - enter
dt_style - enter
dt_net - enter
dt_storage - enter
dt_misc - enter

Will share some combination of:
- host
- width
- message_count (int)
- start_state (inspect_dom, paused_on_exception, jump_to_file)
- panel_name
- cold (bool)

@digitarald Do you have a more complete definition of start_state? I mean, it could just be a tab switch, menu selection, session restore... there is an almost endless list.
Flags: needinfo?(hkirschner)
Flags: needinfo?(hkirschner)
> @digitarald Do you have a more complete definition of start_state? I mean, it could just be a tab switch, menu selection, session restore... there is an almost endless list.

This would be free-form as it might change over time as panels evolve.
Flags: needinfo?(hkirschner)
Assignee: hkirschner → mratcliffe
Has Regression Range: --- → irrelevant
Has STR: --- → irrelevant
OS: Unspecified → All
Hardware: Unspecified → All
Attached file data-review.txt
Attachment #8969226 - Flags: review?(andrei.br92)
So we need to gather the following:

1. Services.telemetry.recordEvent("devtools.main", "enter", "console", null, {
     "host": "...",
     "width": "...",
     "start_state": "tab_click",
     "message_count": "...",
     "panel_name": "webconsole",
     "cold": "..."
2. Services.telemetry.recordEvent("devtools.main", "enter", "inspector", null, {
     "host": "...",
     "width": "...",
     "start_state": "inspect_dom, tab_click",
     "panel_name": "inspector",
     "cold": "..."
3. Services.telemetry.recordEvent("devtools.main", "enter", "debugger", null, {
     "host": "...",
     "width": "...",
     "start_state": "paused_on_exception, jump_to_file, jump_to_line, debugger_statement, breakpoint, conditional_breakpoint, tab_click etc.",
     "panel_name": "jsdebugger",
     "cold": "..."
4. Services.telemetry.recordEvent("devtools.main", "enter", "style_editor", null, {
     "host": "...",
     "width": "...",
     "start_state": "jump_to_file, jump_to_line, tab_click",
     "panel_name": "styleeditor",
     "cold": "..."
5. Services.telemetry.recordEvent("devtools.main", "enter", "network_monitor", null, {
     "host": "...",
     "width": "...",
     "start_state": "tab_click",
     "panel_name": "netmonitor",
     "cold": "..."
6. Services.telemetry.recordEvent("devtools.main", "enter", "storage_inspector", null, {
     "host": "...",
     "width": "...",
     "start_state": "tab_click",
     "panel_name": "storage",
     "cold": "..."
7. Services.telemetry.recordEvent("devtools.main", "enter", "other", null, {
     "host": "...",
     "width": "...",
     "start_state": "tab_click",
     "panel_name": "other",
     "cold": "..."
Summary: Instrument toolbox panel navigation with event telemetry → Instrument toolbox panel opening with event telemetry
tab_click should be tab_switch
Attachment #8969226 - Flags: review?(andrei.br92) → review?(francois)
Comment on attachment 8969226 [details]

> -  panel_name: The name of the panel opened, console, inspector, debugger, style_editor, network_monitor, storage_inspector or other

By "other" here, do you mean the literal string 'other' or that it could be some other string?
Flags: needinfo?(mratcliffe)
The literal string "other"
Flags: needinfo?(mratcliffe)
Comment on attachment 8969226 [details]

1) Is there or will there be **documentation** that describes the schema for the ultimate data set available publicly, complete and accurate?

Yes, in Events.yaml.

2) Is there a control mechanism that allows the user to turn the data collection on and off?

Yes, telemetry setting.

3) If the request is for permanent data collection, is there someone who will monitor the data over time?**

Yes, Harald Kirschner.

4) Using the **[category system of data types](** on the Mozilla wiki, what collection type of data do the requested measurements fall under?  **

Category 2.

5) Is the data collection request for default-on or default-off?

Default-on, all channels.

6) Does the instrumentation include the addition of **any *new* identifiers** (whether anonymous or otherwise; e.g., username, random IDs, etc.  See the appendix for more details)?


7) Is the data collection covered by the existing Firefox privacy notice?


8) Does there need to be a check-in in the future to determine whether to renew the data?

No, permanent.
Attachment #8969226 - Flags: review?(francois) → review+
Comment on attachment 8970115 [details]
Bug 1441070 - Instrument toolbox panel navigation with event telemetry

Looks good to me
Attachment #8970115 - Flags: review?(ystartsev) → review+
Pushed by
Instrument toolbox panel navigation with event telemetry r=yulia
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 61
Depends on: 1456923
Moving to M1 for splitting off M2 work.
No longer blocks: devtools-analytics
Depends on: 1457039
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.