Closed Bug 1604854 Opened 3 years ago Closed 1 year ago

Clear metrics with 'lifetime: user' if they expire

Categories

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

task

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: Dexter, Assigned: Dexter)

References

Details

Attachments

(2 files)

We currently don't provide any way to clear 'lifetime: user' metrics, even though they expire.

We should fix that so that any expired metric with the user lifetime gets purged from the user profile.

Priority: -- → P3
Whiteboard: [telemetry:glean-rs:m?]
Whiteboard: [telemetry:glean-rs:m?] → [telemetry:glean-rs:m11]
Assignee: nobody → brizental
Priority: P3 → P1
Assignee: brizental → nobody
Priority: P1 → P3
Assignee: nobody → alessio.placitelli
Priority: P3 → P1

Here's the current set of options we have: https://docs.google.com/document/d/1gWkYRJu2Elk_eQlmbSRHtrZLH-h_2BZ0632OXSRPa0E/edit#

What do you think? Please do leave feedback on the doc!

Flags: needinfo?(tlong)
Flags: needinfo?(mdroettboom)
Flags: needinfo?(brizental)
Flags: needinfo?(brizental)

It's definitely a complex problem, and I don't have a clear preference for any of the options as I think we will have some difficulties with components/libraries that consume Glean. I see the need to have an API in Glean to register the components' allow-lists/tables and I see this as being a potential source of synchronization issues depending on when components are initialized and can interact with such an API.

Flags: needinfo?(tlong)

Clearing my needinfo after a first read through the doc.

Flags: needinfo?(mdroettboom)

This problem is effectively an hard nut to crack :-) We discussed this internally and decided on a reasonable strategy for moving forward.

  1. We will de-emphasize the docs for ‘user’ lifetime, discouraging their use.
  2. We will create a built-in list of currently known 'user' lifetime metrics in the SDK, to deal with their expiration.
  3. (optional) we could create the built-in list from probe-scraper, in the future, if we see the number of such metrics grow.

This bug will deal with (1) and (2). Bug 1625123 will handle (3), if needed.

Blocks: 1625123

We will tackle this bug after the 1st of February, 2021. That's the date when all of the user lifetime metrics we're aware of will expire (most of them being in m-c).

The decision was due to the following reasons:

  • hardcoding the list of know expirations in the code right now doesn't buy us anything compared to waiting;
  • any expiration hardcoded in the SDK will work on "run time" date versus the "build time" expiration date we're using for all the metrics;
  • we need to disable adding expirations to 'user' lifetimes anyway (see bug 1626516);

We can partially re-use what's in this PR for removing the data from the expired metrics.

Type: defect → task
Priority: P1 → P3
Whiteboard: [telemetry:glean-rs:m11] → [telemetry:glean-rs:backlog]
Assignee: alessio.placitelli → nobody

Moving this to incoming as a reminder for us to triage it at our next meeting, as decided 10 months ago.

Whiteboard: [telemetry:glean-rs:backlog] → [telemetry:glean-rs:m?]
Assignee: nobody → alessio.placitelli
Priority: P3 → P1

There's two metrics that have expiration in 2022. Metrics with user lifetime should never expire, so we should fix these up.

Whiteboard: [telemetry:glean-rs:m?]

Hey,

the GFX team fixed comment 9 :-) Anything else we need to do here?

Flags: needinfo?(jrediger)

With nothing left to expire there's nothing to cleanup. I'm glad we didn't invest time to roll out a code change for this back in the day. :)

Status: NEW → RESOLVED
Closed: 1 year ago
Flags: needinfo?(jrediger)
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.