telemetry.events_1pct derived datasets
make it easier to analyze the desktop Firefox event ping.
It has the following advantages over accessing the raw ping table (
- There is no need to
eventscolumn: this is already done for you.
- You don't have to know which process type emitted your event. If you care, you can query the
- It is clustered on the
event_categorycolumn, which can dramatically speed up your query.
events dataset contains one row for each event submitted in an event ping for that day.
extra fields of the event
are mapped to columns named
To access the
event_map_values, you can use the
SELECT mozfun.map.get_key(event_map_values, "branch") AS branch FROM telemetry.events.
Please note that
event_timestamp refers to the time in milliseconds when the event was recorded relative to the main process start time (
session_start_time), while the
timestamp column refers to the time the ping was ingested.
event_timestamp is useful for determining relative order of events within a single session. Adding
session_start_time will allow you to approximate the absolute time an event occurred, subject to client clock skew and other factors.
telemetry.events_1pct table is a consistent 1% sample from
sample_id = 0) that includes 6 months of history. Using the sampled table can
be faster than hitting
telemetry.events, particularly when iterating on a prototype
BigQuery is also better able to estimate the amount of data it will scan when
events_1pct, so queries on
events_1pct may be able to succeed where
the equivalent query on
events with a
sample_id = 0 filter would be rejected
due to the query appearing to scan many TB of data.
This query gets the count of the number of times the user initiated the
learn_more_breach actions. Note the use of the
event_category to optimize the query:
for this example, this reduces the amount of data scanned from 450 GB to 52 MB.
SELECT countif(event_method = 'dismiss_breach_alert') AS n_dismissing_breach_alert,
countif(event_method = 'learn_more_breach') AS n_learn_more
WHERE event_category = 'pwmgr'
This dataset is generated by BigQuery ETL. The query that generates the dataset is
Firefox has an API to record events, which are then submitted through the
The format and mechanism of event collection in Firefox is documented in the Firefox source documentation.
The full events data pipeline is documented in the event pipeline documentation.