Implementations
Project Name | Language Bindings | Operating System | App Lifecycle Type | Environment Data source |
---|---|---|---|---|
glean-core | Rust | all | all | none |
glean | Rust | Windows/Mac/Linux | Desktop application | OS info build-time autodetected, app info passed in |
Glean Android | Kotlin, Java | Android | Mobile app | Autodetected from the Android environment |
Glean iOS | Swift | iOS | Mobile app | Autodetected from the iOS environment |
Glean.py | Python | Windows/Mac/Linux | all | Autodetected at runtime |
FOG1 | Rust/C++/JavaScript | as Firefox supports | Desktop application | OS info build-time autodetected, app info passed in |
Features matrix
Feature/Bindings | Kotlin | Swift | Python | Rust |
---|---|---|---|---|
Core metric types | ✅ | ✅ | ✅ | ✅ |
Metrics Testing API | ✅ | ✅ | ✅ | ✅ |
baseline ping | ✅ | ✅ | ✅2 | ✅3 |
metrics | ✅ | ✅ | ❌ | ✅4 |
events | ✅ | ✅ | ✅ | ✅5 |
deletion-request ping | ✅ | ✅ | ✅ | ✅ |
Custom pings | ✅ | ✅ | ✅ | ✅ |
Custom pings testing API | ✅ | ✅ | ✅ | ✅ |
Debug Ping View support | ✅ | ✅ | ✅ | ✅ |
1
Firefox on Glean (FOG) is the name of the layer that integrates the Glean SDK into Firefox Desktop. It uses the Glean Rust bindings and exposes the same Rust API inside Firefox and extends it with a C++ and JavaScript API.
2
Not sent automatically. Use the handle_client_active
and handle_client_inactive
API.
3
Sent automatically on startup if necessary. For active/inactive pings use the handle_client_active
and handle_client_inactive
API.
4
Needs to be enabled using use_core_mps
in the Configuration
.
5
Sent on startup when pending events are stored and when reaching the limit. Additionally sent when handle_client_inactive
is called.