Send Mobile Activation Ping telemetry in Fennec

RESOLVED FIXED in Firefox 68

Status

()

enhancement
P1
normal
RESOLVED FIXED
4 months ago
13 days ago

People

(Reporter: cpeterson, Assigned: vlad.baicu)

Tracking

(Blocks 1 bug)

unspecified
Firefox 68
All
Android
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox65 wontfix, firefox66 wontfix, firefox67 wontfix, firefox68 fixed)

Details

(Whiteboard: [bcs:p2])

Attachments

(1 attachment)

Reporter

Description

4 months ago

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

4 months ago

[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)
Reporter

Comment 3

4 months 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).

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)
Reporter

Updated

4 months ago
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)
Reporter

Updated

4 months ago
Group: mozilla-employee-confidential
Reporter

Comment 4

4 months 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

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
Reporter

Comment 5

3 months ago

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

Whiteboard: [geckoview:fenix:m4]

Updated

2 months ago
Assignee: nobody → andrei.a.lazar

Updated

2 months ago
Whiteboard: [bcs:p2]
Assignee

Comment 6

2 months ago

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)
Assignee

Comment 10

2 months 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

2 months ago
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)
Assignee

Updated

2 months ago
Keywords: checkin-needed

Comment 13

2 months ago

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

Keywords: checkin-needed
Assignee

Comment 15

Last month

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

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

Comment 16

Last month

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: Last month
Resolution: --- → FIXED
Target Milestone: --- → Firefox 68
Assignee

Comment 19

Last month

(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

Comment 20

Last month

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

Keywords: checkin-needed

Comment 21

Last month
bugherder
Status: REOPENED → RESOLVED
Closed: Last monthLast month
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)
Assignee

Comment 24

24 days 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

Flags: needinfo?(vlad.baicu)
Assignee

Updated

24 days ago
See Also: → 1556383
You need to log in before you can comment on or make changes to this bug.