Closed Bug 1534451 Opened 1 year ago Closed 1 year ago

Send Mobile Activation Ping telemetry in Fennec

Categories

(Firefox for Android :: Metrics, enhancement, P1)

All
Android
enhancement

Tracking

()

RESOLVED FIXED
Firefox 68
Tracking Status
firefox65 --- wontfix
firefox66 --- wontfix
firefox67 --- wontfix
firefox68 --- fixed

People

(Reporter: cpeterson, Assigned: vlad.baicu)

References

(Regressed 1 open bug)

Details

(Whiteboard: [bcs:p2])

Attachments

(1 file)

Fennec telemetry shows 25% more installs than the Google Play Store does (bug 1483927). Frank suggests (in bug 1501822) that we include a hash of the user's Google Ad ID in install/uninstall telemetry to count unique users and avoid double-counting reinstalls.

Google Ad ID can be reset by users. Google's policy requirement is that all apps use this ID in lieu of any others for advertising. We are not using this for advertising so that policy should not apply to us.

Fennec Mobile Activation Ping spec:
https://docs.google.com/document/d/1D-0m3TRvIAOzGtkBNjaddyVr7baE7uEhiBUFyVQr2pg/edit

Problem description:
https://docs.google.com/document/d/11PzvbJz832A9kUeBj6E3n9He25feBAYGLWDxNybhfaY/edit

Mobile data review: bug 1508839

[geckoview:fenix:m4] because Amit says we want the new Mobile Activation Pings in place before Fenix MVP.

Whiteboard: [geckoview:fenix:m4]

Is this bug covering both the Fennec and Fenix implementations?

For the latter, if we use Glean, then that may simplify some work for the developers. We can then use the "Ping Format" section of the doc as a guideline for which metrics to implement.

Flags: needinfo?(cpeterson)

(In reply to Frank Bertsch [:frank] from comment #2)

Is this bug covering both the Fennec and Fenix implementations?

Yes, unless engineering investigation shows that we need separate implementations for Fennec and GeckoView (for Fenix, Firefox Reality, and other GeckoView-powered apps).

Flags: needinfo?(cpeterson)
Summary: Send Google Ad ID in Mobile Activation Ping telemetry in GV and Fennec → Send Google Ad ID in Mobile Activation Ping telemetry in Fennec and GV (Fenix, etc)
Summary: Send Google Ad ID in Mobile Activation Ping telemetry in Fennec and GV (Fenix, etc) → Send Mobile Activation Ping telemetry in Fennec and GV (Fenix, etc)
Group: mozilla-employee-confidential

(In reply to Chris Peterson [:cpeterson] from comment #3)

(In reply to Frank Bertsch [:frank] from comment #2)

Is this bug covering both the Fennec and Fenix implementations?

Yes, unless engineering investigation shows that we need separate implementations for Fennec and GeckoView (for Fenix, Firefox Reality, and other GeckoView-powered apps).

snorp says that we should split Fennec and Fenix into separate bugs. The Fennec fix will be in mozilla-central while the Fenix fix should use the Glean Android-Component. I don't know if any code can be shared between Fennec and Fenix.

I filed a Fenix issue to add the Mobile Activation Ping: https://github.com/mozilla-mobile/fenix/issues/1028

Component: General → Metrics
Product: GeckoView → Firefox for Android
Summary: Send Mobile Activation Ping telemetry in Fennec and GV (Fenix, etc) → Send Mobile Activation Ping telemetry in Fennec

This is a Fennec issue. Fenix will have a separate implementation: https://github.com/mozilla-mobile/fenix/issues/1028

Whiteboard: [geckoview:fenix:m4]
Assignee: nobody → andrei.a.lazar
Whiteboard: [bcs:p2]

Assigining myself to this in Andrei's stead as he will be in PTO next week.

Assignee: andrei.a.lazar → vlad.baicu

Dexter or Frank, to help test and confirm the Telemetry pings are returning as expected, is there an existing query or dashboard or approach you can share to help us?

Flags: needinfo?(alessio.placitelli)

(In reply to Devin Reams (dreams) from comment #7)

Dexter or Frank, to help test and confirm the Telemetry pings are returning as expected, is there an existing query or dashboard or approach you can share to help us?

Redirecting the question to Frank, as I'm not sure how things work for Fennec.

Flags: needinfo?(alessio.placitelli) → needinfo?(fbertsch)

FYI After we land and test that the ping works as intended we should also file a new bug to add documentation. (e.g. https://dxr.mozilla.org/mozilla-central/source/mobile/android/base/java/org/mozilla/gecko/telemetry/pingbuilders/TelemetryCorePingBuilder.java#46)

Status: NEW → ASSIGNED

:frank is out this week, so I'm filling in to help get this unblocked.

I have a PR open with the JSON schema for the new mobile/activation ping: https://github.com/mozilla-services/mozilla-pipeline-schemas/pull/331

Once that schema is merged and deployed, the pipeline to accept these pings and we can start testing that payloads are making it through.

I've left some commentary on there to explain some differences from the structure proposed in Google Doc spec and ask some questions.

(In reply to Devin Reams (dreams) from comment #7)

Dexter or Frank, to help test and confirm the Telemetry pings are returning as expected, is there an existing query or dashboard or approach you can share to help us?

Once the schema is deployed and some pings are flowing in, I can help with debugging to see if these are correctly flowing through the pipeline, and I can provide some sample queries for you to do ongoing validation.

The new schema will get automatically deployed to the new GCP pipeline, allowing the data to flow into a BigQuery table. If needed, we can add a Parquet schema and deploy this to the existing AWS pipeline.

Flags: needinfo?(fbertsch)
Keywords: checkin-needed

Pushed by aciure@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/91bc05242c6f
Send Mobile Activation Telemetry ping. r=JanH

Keywords: checkin-needed

Fixed bustage issues and updated my diff, please try again.

Flags: needinfo?(vlad.baicu)
Keywords: checkin-needed

Pushed by csabou@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/6ff9d6783ae0
Send Mobile Activation Telemetry ping. r=JanH

Keywords: checkin-needed
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 68

(In reply to Cristian Brindusan [:cbrindusan] from comment #18)

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=246479960&repo=mozilla-central&lineNumber=3975

Apparently the AdvertisingUtil.java wasn't being excluded from the sourcesets, only from the tests which led to the bustage on the-without-gps-build from try.

Made the change, updated the diff and I've tried submitting multiple other try jobs to confirm that the issue is fixed but with no success altough I am quite certain the issue is now fixed. Let's give it another go

Flags: needinfo?(vlad.baicu)
Keywords: checkin-needed

Pushed by btara@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/74252063fc9e
Send Mobile Activation Telemetry ping. r=JanH

Keywords: checkin-needed
Status: REOPENED → RESOLVED
Closed: 1 year ago1 year ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 68

@liuche, just to double-check:
I know the main data review on this approach happened in bug 1508839, but does this bug need a separate light data review for the implementation?

Flags: needinfo?(liuche)

Thanks for the ping to check this data review request.

One last thing that I'd like to see is a (short) documentation file, probably mobile/android/docs/activationping.rst, similar to https://searchfox.org/mozilla-central/source/mobile/android/docs/uitelemetry.rst .
This would be a short description of what TelemetryActivationPingBuilder is sending, what the identifier is (and what values it could be, e.g., clientid in Case X or salted GAID in Case Y), and a sample ping.

Mainly, summarizing what the code in https://searchfox.org/mozilla-central/source/mobile/android/base/java/org/mozilla/gecko/telemetry/pingbuilders/TelemetryActivationPingBuilder.java and https://searchfox.org/mozilla-central/source/mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryActivationPingDelegate.java#79 are doing in a human-readable form (for documentation reasons, but also for whatever data science teams will be looking at this ping).

Vlad is that something that you could put together? Either in this bug, or a new bug linked to this one. Other than that this looks good to me, thanks for the work here!

Flags: needinfo?(liuche) → needinfo?(vlad.baicu)

Sure, I'll file a new bug.

However, I think we should also have a webpage doc e.g. https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/data/core-ping.html

Flags: needinfo?(vlad.baicu)
See Also: → 1556383
Regressions: 1564104
See Also: → 1573868
You need to log in before you can comment on or make changes to this bug.