This section was originally included in the Project Smoot existing metrics report (Mozilla internal link).
A handful of metrics have been adopted as engagement metrics, either as censuses of the population or to describe user activity within a session. This chapter aims to describe what those metrics are and how they’re defined.
active_ticks probe is
increment once in every 5-second window that a user performs an action
that could interact with content or chrome, including mousing over the
window while it lacks focus. One additional tick is recorded after the
Main pings provide two measurements of
simpleMeasurement and a scalar.
simpleMeasurement was discovered to be resetting incorrectly,
which was fixed
in Firefox 62.
The scalar (which was not affected by the same bug) was
Firefox 56. The scalar is aggregated into
main_summary, but should
always be identical to the
subsession_length is the wall-clock duration of a subsession.
subsession_length includes time that the computer was asleep for
Windows, but not for OS X or Linux; there is a long-outstanding
bug to include
sleep time on all platforms.
There is another bug to count only time that the computer is not in sleep.
subsession_length was first implemented with the advent of
which came with unified telemetry.
total_uri_count is intended to capture the number of distinct
navigation events a user performs. It includes changes to the URI
fragment (i.e. anchor navigation) on the page. It excludes
XmlHttpRequest fetches and
It works by attaching an instance of
URICountListener as a
TabsProgressListener which responds to
Some filters are applied to
- Error pages are excluded.
- Only top-level pageloads (where
webProgress.isTopLevel, documented inline, is true) are counted – i.e, not navigations within a frame.
- Tab restore events are excluded.
- URIs visited in private browsing mode are excluded unless
browser.engagement.total_uri_count.pbmis true. (The pref has been flipped on for small populations in a couple of short studies, but, for now remains false by default.)
The unfiltered count,
Firefox 51, differs only in that it includes URIs using protocol specs
other than HTTP and HTTPS. It excludes some (but not all)
– the set of “initial pages” defined in
browser.js are excluded, but
about:telemetry are included.
No applications of
unfiltered_uri_count have been identified.
mainpings observed from Firefox 65
releasechannel users on February 21, 2019.