Closed Bug 1929832 Opened 28 days ago Closed 12 days ago

Remove client/ping info from the dau-reporting ping

Categories

(Data Platform and Tools :: Glean: SDK, enhancement, P1)

enhancement

Tracking

(firefox134 fixed)

RESOLVED FIXED
Tracking Status
firefox134 --- fixed

People

(Reporter: janerik, Assigned: janerik)

References

(Blocks 1 open bug)

Details

Attachments

(3 files)

We should reduce the amount of data sent in those pings, like the client info.
In a follow-up we need to re-implement a subset of those fields as ordinary metrics in the respective apps.

For now we just remove the fields (and make sure our pipeline knows how to ingest them, this needs the glean-min schema).
This bug is going to do that for Desktop.

This is the same situation we encountered in https://bugzilla.mozilla.org/show_bug.cgi?id=1901256.

Going from glean to glean-min schema is backward incompatible and not supported on the platform without manual intervention. The easiest and safest solution would be to define a new ping with glean-min schema and start dropping dau-reporting at ingestion when it's no longer needed. I'd probably lean towards this option since this ping is meant to be the primary way to count dau and there seems to be some time pressure.

ni? :whd for visibility because other options require SRE interventions.

Considering manual intervention route, we need to keep in mind that:

  1. dau-reporting is defined in gecko-dev, so has tables created for 16 applications
  2. We are currently receiving these pings from firefox_desktop. If we change the schema to glean-min, these pings will fail validation and go to error stream, so we'll lose continuity in reporting (:janerik - is this acceptable?)

Now for the actual steps I think we could either:

  1. Do what we did for user-characteristics ping, i.e. delete and recreate tables after changing the schema. This would involve following more strict version of the process from https://bugzilla.mozilla.org/show_bug.cgi?id=1898105#c10. We would lose existing data unless we back it up.
  2. Do what Wil proposed in a Slack discussion:

we add special case handling in schema generator (it looks like there some precedence for that) to adjust the output schema making the info fields optional. BQ schema should be fine since we set the info fields to NULLABLE by default
eventually we will want to delete the incompatible pings and probably block them at the ingestion pipeline
after that we can drop the info fields from the schema and bq

Option 2. assures data continuity (is this important?), but is significantly more complex. Dropping columns in production tables seems a bit risky but might work.

Flags: needinfo?(whd)
Flags: needinfo?(jrediger)

I'll discuss that with the responsible people and see what they say.

Flags: needinfo?(jrediger)

We decided that we'll rename the ping in the client code. From the platform point of view this is equivalent to defining a new ping so we won't need any manual interventions (clearing ni?:whd).

Flags: needinfo?(whd)

This also removes it from the baseline schedule and should stop it from
being sent. It will be fully removed at a later point.

Pushed by jrediger@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c88c4eca399c Mark dau-reporting ping as deprecated r=android-reviewers,pollymce https://hg.mozilla.org/integration/autoland/rev/cec31d3caf01 Rename to `usage-reporting` ping and remove the info fields r=loines,android-reviewers,pollymce
Summary: Remove client/ping info from the dau-reporting ping (Desktop) → Remove client/ping info from the dau-reporting ping
Blocks: 1928626
No longer depends on: 1928626
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: