Closed Bug 1680783 Opened 3 years ago Closed 3 years ago

Increase the resolution of first_run_date

Categories

(Data Platform and Tools :: Glean: SDK, defect, P2)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: mdroettboom, Assigned: mdroettboom)

References

Details

Attachments

(2 files)

In :gkabbz 's investigation, it may be helpful to have higher resolution for first_run_date to better group it into UTC days.

As a solution, this may be as simple as changing the unit on first_run_date, but that should go through data review as it is "collecting more data (at a higher resolution)".

I recommend instead adding a datetime metric with a higher resolution to see if it helps, rather than jumping straight to decreasing the (deliberate) coarseness of first_run_date

(( Also, then wouldn't we have to rename it to first_run_hour ? : D ))

Assignee: nobody → mdroettboom
Priority: P3 → P2
Whiteboard: [telemetry:glean-rs:m?]

(In reply to Chris H-C :chutten from comment #1)

I recommend instead adding a datetime metric with a higher resolution to see if it helps, rather than jumping straight to decreasing the (deliberate) coarseness of first_run_date

(( Also, then wouldn't we have to rename it to first_run_hour ? : D ))

I agree with chutten here. I was going to recommend first_run_timestamp but first_run_hour is good as well.

See Also: → 1680600

That seems fine, as long as it's in both metrics, events and baseline pings, since I think all will be useful for this initial investigation.

Assignee: mdroettboom → nobody
Attachment #9192679 - Flags: data-review?(chutten)

Comment on attachment 9192679 [details]
Data review request for first_run_hour

DATA COLLECTION REVIEW RESPONSE:

Is there or will there be documentation that describes the schema for the ultimate data set available publicly, complete and accurate?

Yes.

Is there a control mechanism that allows the user to turn the data collection on and off?

Yes. This collection is Telemetry so can be controlled through Firefox's Preferences.

If the request is for permanent data collection, is there someone who will monitor the data over time?

No. This collection will expire on 2020-03-01.

Using the category system of data types on the Mozilla wiki, what collection type of data do the requested measurements fall under?

Category 1, Technical.

Is the data collection request for default-on or default-off?

Default on for all channels.

Does the instrumentation include the addition of any new identifiers?

No.

Is the data collection covered by the existing Firefox privacy notice?

Yes.

Does there need to be a check-in in the future to determine whether to renew the data?

Yes. :mdboom is responsible for renewing or removing the collection before it expires on 2020-03-01.


Result: datareview+

Attachment #9192679 - Flags: data-review?(chutten) → data-review+
Assignee: nobody → mdroettboom

The implementation of this is getting hairy, as it's a special case that we need to bring across telemetry disabling/re-enabling (just as we do for first_run_date).

:chutten: How strongly do you feel about making this a test metric to start rather than just increasing the resolution of first_run_date now? I think it's pretty clear that this is the source of the timezone problems in the "first ping latency" analysis. The Glean pipeline (as it's ISO 8601 all the way down) makes it pretty easy to change the resolution of these values without requiring schema changes or otherwise.

The name'll be out of sync with its contents, which offends my sense of order in the universe, but that I'd get over : )

I'm still leaning towards implementing a version of first_run_hour as a metric to verify. Persisting it across telemetry opt-outs isn't necessary for the validation as we can use it to figure things out across the population that hasn't yet opted out. I'm a little confused as to why first_run_date, which has a timezone in it, contains insufficient data on its own to ascertain whether days starting at different hours are the reasons for the observed differences, so maybe I'm underestimating the need.

It occurred to me that there are half-hour timezones which could still be affected by this issue even with hourly resolution, though it will be a very small number (since it will only occur for those timezones, and only during the hour where they switch to UTC).

As someone who has previously dealt with the "this column has different values" problem from legacy mobile telemetry, I strongly recommend creating a new metric.

Ok -- so it sounds like consensus is to add a new metric. The problem that causes is a lot of test breakage because now we have a user-lifetime metric that appears in every ping (up until now, these were all special-case metrics in ping_info/client_info that don't trigger the sending of a ping in all cases). That test breakage can probably be fixed through some clever controlling of which pings to send in the tests themselves, but it definitely takes this bug out of the "quick fix" category.

:frank, good point about half hour timezones -- "most of India" is one of those timezones, so not a trivial number of people ;)

:chutten: The reason for this change is - a day with a timezone is insufficient to project into a UTC day, since one needs to know what time it is locally to know what day it is in UTC. All of this is to align with aggregating by submission date in UTC, which feels like the least bad of a bunch of bad options as the standard aggregation.

Another option would be to store/send first_run_date in UTC (which would do the timezone conversion on the client first) -- that wouldn't send data in any higher resolution than we do now, and wouldn't be any less accurate (wrt to incorrect clocks and timezones) than we have now.

And we could keep the name. And all the analyses. And we wouldn't have this watershed of "Behaviour A before version X, Behaviour B afterwards" unless you sincerely care about time zones.

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
See Also: → 1759716
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: