API Deprecation: To record Legacy Firefox Desktop Telemetry Events, now use Glean

378 views
Skip to first unread message

Chris H-C

unread,
Sep 16, 2024, 10:07:13 AMSep 16
to dev-platform, Firefox Dev, fx-da...@mozilla.org, Data Announcements, Nick Alexander
Dear dev-platform, firefox-dev, fx-data-dev, and data-announcements

Firefox and Data Engineering intend to begin deprecation and removal of Legacy Firefox Desktop Telemetry event APIs. The Data Collection Tools (DCT) team will replace all current uses of the APIs for Legacy Telemetry event recording and testing with Glean APIs and forbid all new uses. All event recording from this moment on in Firefox Desktop will be conducted via Glean APIs, which can be configured via the Glean Interface for Firefox Telemetry (GIFFT)[1] to also send data to Legacy Telemetry datasets as needed.  This work is tracked by meta ticket Bug 1863031.

## What’s being done to Legacy Telemetry event data?

Nothing. This is a client-only change to improve APIs for developers (see the “Why” section for details). The same code will be called at the same time to record the same Legacy Telemetry data, behind a Glean API.

We do intend to stop sending Legacy Telemetry event data _eventually_, but not before we reach out to every consumer and send more emails. Definitely not in 2024H2.

## What do I have to do?

If you’re a peer or owner of a component with Legacy Telemetry event instrumentation, you may be asked to review the patches that the Data Collection Tools team and friends are preparing to transform the API calls.

If you are a developer who is going to add new event instrumentation which should flow into Legacy Telemetry datasets, please define and record your events using Glean. The data will flow into the datasets as you require, but the way you’ll do it will change in a small way. The full details are in [2] and you should familiarize yourself with them, but from an API standpoint it is as small a change as, instead of:
Services.telemetry.recordEvent(“event.category”, “method”, “object”, value, {extra1: “1”});
you will use:
Glean.eventCategory.methodObject.record({value, extra1: 1});

(Alas, controlling whether the Legacy Telemetry event is enabled will still need to be controlled via setEventRecordingEnabled. Legacy Telemetry doesn’t have Server Knobs to ensure event collections aren’t breaking the bank, so you will still need to write that code manually as you do today.)

## Why?

If you’ve used Legacy Telemetry events, you’ve likely felt some frustration. There are two main issues. On the production side the tripartite naming scheme, setEventRecordingEnabled gotcha, and awkward test APIs made legacy events difficult and error-prone to instrument.

On the consumption side, data analysis has been a trial, too, with map-like fields for extra properties attached to events, per-ping monotonic timestamps, CROSS JOIN UNNEST, and no automatic dashboarding.

These problems have been addressed by our more modern systems (see announcement emails [3] and [4], and explore the Event Monitoring Dashboard directly via [5] or by link from any event’s page in the Glean Dictionary). And, by removing the old APIs, we also relieve the cognitive burden of having to decide which systems to use.

### Why now?

We need to instrument users’ interactions with Firefox Desktop in order to better understand how to make Firefox better. We need events that are easier to understand, easier to instrument, and easier to analyze. The sooner, the better. Legacy Telemetry events are challenging our goal.

## What if I have questions?

Perfectly natural. Come find answers on the #telemetry Matrix channel[6], or Slack’s #data-help channel. We’re here to help.

Thank you,

:chutten on behalf of the Data Collection Tools Team, and
:nalexander on behalf of Desktop Firefox

[1]: https://firefox-source-docs.mozilla.org/toolkit/components/glean/user/gifft.html
[2]: https://firefox-source-docs.mozilla.org/toolkit/components/glean/user/glean_for_legacy_events.html
[3]: https://groups.google.com/a/mozilla.com/g/data-announcements/c/hxcFKJrpatk
[4]: https://groups.google.com/a/mozilla.com/g/data-announcements/c/zhh3WSEQDEw
[5]: https://mozilla.cloud.looker.com/dashboards/1452
[6]: https://chat.mozilla.org/#/room/#telemetry:mozilla.org

Florian Quèze

unread,
Oct 18, 2024, 1:04:31 PMOct 18
to dev-platform, Nick Alexander, Chris H-C
Time for a quick update:
- all code recording legacy telemetry events has now been migrated to using Glean APIs.
- the APIs to record legacy events directly have been removed (bug 1920210 and bug 1921790).
- thanks for all the reviews!

Migrating scalars is next, and the work has started in bug 1923028. You can follow the progress of the migration to Glean APIs at https://arewegleanyet.com

Florian
--
Florian Quèze

Florian Quèze

unread,
Nov 29, 2024, 9:55:21 AM (13 days ago) Nov 29
to dev-platform, Firefox Dev, fx-da...@mozilla.org, Data Announcements, Nick Alexander, Chris H-C
Hello all,

Time for another quick update:
- all legacy Telemetry scalars are now reported using Glean APIs (https://bugzilla.mozilla.org/show_bug.cgi?id=1923028 and https://bugzilla.mozilla.org/show_bug.cgi?id=1927093)
- the legacy scalar APIs have been removed (https://bugzilla.mozilla.org/show_bug.cgi?id=1931901).

If you need to record data to what would have been a scalar, here is the documentation about how to do that with Glean APIs: https://firefox-source-docs.mozilla.org/toolkit/components/glean/user/glean_for_legacy_scalars.html

The next step of the migration plan is to migrate histograms, which will start soon.

Thanks,
Florian

On Thu, Oct 17, 2024 at 8:06 PM Florian Quèze <fqu...@mozilla.com> wrote:
Time for a quick update:
- all code recording legacy telemetry events has now been migrated to using Glean APIs.
- the APIs to record legacy events directly have been removed (bug 1920210 and bug 1921790).
- thanks for all the reviews!

Migrating scalars is next, and the work has started in bug 1923028. You can follow the progress of the migration to Glean APIs at https://arewegleanyet.com

Florian

On Mon, Sep 16, 2024 at 4:07 PM 'Chris H-C' via firef...@mozilla.org <firef...@mozilla.org> wrote:
--
You received this message because you are subscribed to the Google Groups "firef...@mozilla.org" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firefox-dev...@mozilla.org.
To view this discussion on the web visit https://groups.google.com/a/mozilla.org/d/msgid/firefox-dev/CAMPhgK9vgCsAZOUCKbVNnc6R%2BbKe5r3dsM3ZKwMStwabmu4xWw%40mail.gmail.com.


--
Florian Quèze


--
Florian Quèze
Reply all
Reply to author
Forward
0 new messages