Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[OpenTelemetry] Initial local only implementation #1743

Merged
merged 3 commits into from
Feb 17, 2025
Merged

Conversation

svillar
Copy link
Member

@svillar svillar commented Feb 3, 2025

FxR used to have telemetry based on glean. We disabled that long time ago and haven't sent any telemetry information to any server since almost the very beginning. However it's very important for us knowing which features of the browser are mostly used in order to focus our scarce resources on those important areas.

We've chosen the OpenTelemetry API because it's flexible enough to support simple use cases (like Wolvic) while being able to be customized at will.

This initial implementation does not send anything to any server yet, it's logging everything to the device logcat but it's the basis for future works.

@svillar
Copy link
Member Author

svillar commented Feb 3, 2025

Just filter logcat by exporter | opentelemetry and you'd be able to see the events registered by Wolvic

This is a preparation commit for the integration of the
opentelemetry-android library into Wolvic that will allow us
to know more about users actions and their usage of the
different features (obviously with their prior consent).

The OpenTelemetry android library requires at least a compilesdk 35
and kotlin 2.1 so let's bump them both. Also we need to enable
desugaring for the library to work properly with newer versions
of Android.

We use a different approach to include new dependencies. Instead
of using the custom versions.gradle file, we switched to the
more modern library catalog declarations.
This is an initial implementation of the ITelemetry interface
using OpenTelemetry, in particular, the opentelemetry-android
library.

Using this new library forces us to bump the required kotlin
version and the project compilesdk version.

So far the telemetry data is logged only to the logcat and not
sent to any server. In order to avoid too many writes (and in
the future to batch requests to the servers) it uses on disk
buffering.
Copy link
Member

@javifernandez javifernandez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've left some coding-style comments, but other than that the patch looks good,

Copy link
Member Author

@svillar svillar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the review!

@svillar svillar merged commit d2d18b2 into main Feb 17, 2025
22 checks passed
@svillar svillar deleted the opentelemetry branch February 17, 2025 14:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants