Changing how Glean ships on iOS

Skip to first unread message

Travis Long

Aug 18, 2022, 4:38:00 PM8/18/22
As part of ongoing work to enable recording of metrics at the Rust layer for Application-Services components, Glean will once again be back to shipping compiled together along with application services in the same Swift package.

What does this mean? First, it should make the overall iOS application size smaller since the Glean Rust code will be compiled with the rest of the A-S components used on Firefox iOS and Focus. Second, it will make instrumenting metrics for the AppServices folks a lot easier to both do and maintain in one place rather than many and it doesn't require passing data across an FFI boundary in order to record data. Finally, our products will be unaffected and continue to instrument metrics in Swift in the way they always have.

As a consequence of this update, I would like to exercise caution and avoid any incidents or data loss while switching our products over to consuming their Glean dependency in this manner. After speaking with the product teams, we will hold off on landing this until the v107 (mid-September) cycle, which allows us to get into the nightly product cycles early to address any unforeseen problems that may arise. There are a handful of breaking changes that will be addressed by PRs for Focus iOS and Firefox iOS that I will have reviewed and ready prior to releasing this change to reduce impact on the product teams. As part of landing this in Focus iOS and Firefox iOS, I will also be filing a QA request to give us a thorough look at the telemetry collection as a way to verify the change.

I plan to send another email closer to the v107 cycle to remind folks of the impending landing of these changes which will include links to the QA ticket and any additional information.

If you have any questions or concerns regarding this, please reach out to me.

- Travis Long

Travis Long

Sep 12, 2022, 8:19:37 AM9/12/22


This is just a reminder that we are now about a week out from the 107 nightly cycle beginning and landing changes to how we ship Glean on iOS. As a reminder, the purpose of this change is to allow services written in Rust and used in our iOS applications to be able to record metrics in Rust, which requires us to compile and ship Glean along with the Application Services components as part of the iOS "megazord" that Firefox and Focus (iOS) consume these services from.

Preparations will include updating PRs so that they are in good condition to land and filing QA requests for a  review of the telemetry collections in both iOS applications to ensure that there are no problems that could result from this change.

Please feel free to contact me if you have any concerns or questions regarding this.


Reply all
Reply to author
0 new messages