Send Mobile Activation Ping telemetry in Fennec
Categories
(Firefox for Android Graveyard :: Metrics, enhancement, P1)
Tracking
(firefox65 wontfix, firefox66 wontfix, firefox67 wontfix, firefox68 fixed)
People
(Reporter: cpeterson, Assigned: vlad.baicu)
References
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
Reporter | ||
Comment 1•6 years ago
|
||
[geckoview:fenix:m4] because Amit says we want the new Mobile Activation Pings in place before Fenix MVP.
Comment 2•6 years ago
|
||
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.
Updated•6 years ago
|
Reporter | ||
Comment 3•6 years ago
|
||
(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).
Reporter | ||
Updated•6 years ago
|
Reporter | ||
Updated•6 years ago
|
Reporter | ||
Comment 4•6 years ago
|
||
(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
Reporter | ||
Comment 5•6 years ago
|
||
This is a Fennec issue. Fenix will have a separate implementation: https://github.com/mozilla-mobile/fenix/issues/1028
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Assignee | ||
Comment 6•6 years ago
|
||
Assigining myself to this in Andrei's stead as he will be in PTO next week.
Comment 7•6 years ago
|
||
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?
Comment 8•6 years ago
|
||
(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.
Assignee | ||
Comment 9•6 years ago
|
||
Assignee | ||
Comment 10•6 years ago
|
||
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)
Updated•6 years ago
|
Comment 11•6 years ago
|
||
: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.
Comment 12•6 years ago
|
||
(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.
Assignee | ||
Updated•6 years ago
|
Comment 13•6 years ago
|
||
Pushed by aciure@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/91bc05242c6f
Send Mobile Activation Telemetry ping. r=JanH
Comment 14•6 years ago
|
||
Backed out changeset 91bc05242c6f (bug 1534451) for causing AdvertisingUtil.java build bustages
push that caused the backout: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception%2Cretry%2Cusercancel%2Crunnable&revision=91bc05242c6f02a5d30c71557693129303e7067e
backout: https://hg.mozilla.org/integration/autoland/rev/d6e21ffd8ecceee564afa0c7c8b1bcf61fbd6aff
Assignee | ||
Comment 15•6 years ago
|
||
Fixed bustage issues and updated my diff, please try again.
Comment 16•6 years ago
|
||
Pushed by csabou@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/6ff9d6783ae0
Send Mobile Activation Telemetry ping. r=JanH
Comment 17•6 years ago
|
||
bugherder |
Comment 18•6 years ago
|
||
Backed out changeset 6ff9d6783ae0 (Bug 1534451) for causing build bustages in AdvertisingUtil.java:6
Backout: https://hg.mozilla.org/integration/autoland/rev/db85e84612070c8cd9c75a7cc1b0a50bb5ed2d38
Push that started the failures: https://treeherder.mozilla.org/#/jobs?repo=mozilla-central&resultStatus=pending%2Crunning%2Csuccess%2Ctestfailed%2Cbusted%2Cexception&selectedJob=246480003&revision=f17162f343b657c6ac2f57937ff49a1840465a6b
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=246479960&repo=mozilla-central&lineNumber=3975
Assignee | ||
Comment 19•6 years ago
|
||
(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
Comment 20•6 years ago
|
||
Pushed by btara@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/74252063fc9e
Send Mobile Activation Telemetry ping. r=JanH
Comment 21•6 years ago
|
||
bugherder |
Comment 22•6 years ago
|
||
@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?
Comment 23•6 years ago
|
||
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!
Assignee | ||
Comment 24•6 years ago
|
||
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
Updated•6 years ago
|
Updated•4 years ago
|
Description
•