Files
tubestation/browser/modules/metrics.yaml
Chris H-C 8db3818024 Bug 1889111 - Instrument Firefox Desktop UI Interactions with events r=TravisLong,kcochrane,Gijs
Assumption: Browser Usage Telemetry (ideally) records only and all interesting
interactions with Firefox Desktop's UI, and preserving syntax and semantics
when instrumenting using events is valuable.

Value this provides over existing keyed scalars:
* Order of operations (did three tabs open and then three tabs close, or did
  a single tab open-close three times?)
* Flow control (several atomic interactions combine to a user task. flow_id
  grouping allows us to see that easily in analysis. e.g. Open a tab, open
  prefs, privacy prefs, change a setting.)
* Glean

This is aiming for prototype quality and a prototype lifetime, to see if it's
worth investing more than just a week or two into.

Differential Revision: https://phabricator.services.mozilla.com/D207908
2024-05-03 15:19:15 +00:00

167 lines
6.1 KiB
YAML

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# Adding a new metric? We have docs for that!
# https://firefox-source-docs.mozilla.org/toolkit/components/glean/user/new_definitions_file.html
---
$schema: moz://mozilla.org/schemas/glean/metrics/2-0-0
$tags:
- 'Firefox :: General'
browser.engagement:
active_ticks:
type: counter
description: |
The number of five-second intervals ('ticks') the user was considered
'active'.
'active' means keyboard or mouse interaction with the application.
It doesn't take into account whether or not the window has focus or is in
the foreground, only if it is receiving these interaction events.
Migrated from Telemetry's `browser.engagement.active_ticks`.
bugs:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1376942 # Telemetry
- https://bugzilla.mozilla.org/show_bug.cgi?id=1545172 # Telemetry
- https://bugzilla.mozilla.org/show_bug.cgi?id=1741674
- https://bugzilla.mozilla.org/show_bug.cgi?id=1755050
- https://bugzilla.mozilla.org/show_bug.cgi?id=1781578
data_reviews:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1545172#c8
- https://bugzilla.mozilla.org/show_bug.cgi?id=1781578
- https://bugzilla.mozilla.org/show_bug.cgi?id=1811152#c5
data_sensitivity:
- interaction
notification_emails:
- loines@mozilla.com
expires: never
send_in_pings:
- baseline
- metrics
no_lint:
- BASELINE_PING
uri_count:
type: counter
description: |
The number of total non-unique http(s) URIs visited, including page
reloads, after the session has been restored. URIs on minimized or
background tabs may also be counted. Private browsing uris are included.
Migrated from Telemetry's
`browser.engagement.total_uri_count_normal_and_private_mode`.
bugs:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1535169 # Telemetry
- https://bugzilla.mozilla.org/show_bug.cgi?id=1741674
- https://bugzilla.mozilla.org/show_bug.cgi?id=1755050
- https://bugzilla.mozilla.org/show_bug.cgi?id=1781578
data_reviews:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1535169#c14
- https://bugzilla.mozilla.org/show_bug.cgi?id=1781578
- https://bugzilla.mozilla.org/show_bug.cgi?id=1811152#c5
data_sensitivity:
- interaction
notification_emails:
- loines@mozilla.com
expires: never
send_in_pings:
- baseline
- metrics
no_lint:
- BASELINE_PING
profile_count:
type: quantity
unit: profiles
description: |
Windows only count of the browser profiles on the current system. This
counts profiles that have been used across all Windows user accounts on
machine since this probe was added. The value persists across installs.
A value of 0 is reported if there is an error determining the correct
count. Unset on other platforms.
bugs:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1813195
data_reviews:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1647422#c8
data_sensitivity:
- technical
notification_emails:
- pmcmanis@mozilla.com
- rtestard@mozilla.com
send_in_pings:
- metrics
expires: never
performance.interaction:
tab_switch_composite:
type: timing_distribution
time_unit: millisecond
telemetry_mirror: FX_TAB_SWITCH_COMPOSITE_E10S_MS
description: >
Time between tab selection and first composite of the tab content onto the
screen.
(Migrated from the geckoview metric of the same name.)
metadata:
tags:
- 'Firefox :: Tabbed Browser'
bugs:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1481704
- https://bugzilla.mozilla.org/show_bug.cgi?id=1529352
- https://bugzilla.mozilla.org/show_bug.cgi?id=1580077
- https://bugzilla.mozilla.org/show_bug.cgi?id=1877842
data_reviews:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10
notification_emails:
- mconley@mozilla.com
- perf-telemetry-alerts@mozilla.com
expires: never
browser.usage:
interaction:
type: event
description: >
The user interacted with something in the Firefox Desktop frontend.
Could be via mouse or keyboard, could be a command or a UI element.
bugs:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1889111
data_reviews:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1889111
expires: 132
data_sensitivity: [interaction]
notification_emails:
- chutten@mozilla.com
extra_keys:
flow_id:
type: string
description: >
An UUIDv4 used to group interaction events together under the
assumption that they're part of the same user activity.
See BrowserUsageTelemetry's FLOW_IDLE_TIME for details.
source:
type: string
description: >
The source of the interaction. Usually a UI section
(like `bookmarks_bar` or `content_context`), but can also be an input
method (like `keyboard`).
The full list of supported `source`s can be found in
`BrowserUsageTelemetry`'s `BROWSER_UI_CONTAINER_IDS. Plus `keyboard`
and panes from `about:preferences` listed in `PREFERENCES_PANES`.
See `_getWidgetContainer` for details.
widget_id:
type: string
description: >
The item interacted with.
Usually the `id` of the DOM Node that the user used,
sometimes the `id` of the parent or ancestor Node instead.
This node is then conjugated by obscuring any addon id in it
(turning it to the string `addonX` where `X` is a number stable
within a browsing session) and then replacing any underscore with a
hyphen.
See `BrowserUsageTelemetry#_getWidgetID` and `telemetryId`.
e.g. "Browser:Reload", "key-newNavigatorTab", "PanelUI-Bookmarks".
send_in_pings:
- prototype-no-code-events