Refactor TelemetryEnvironment to perform staged-gathering of data

NEW
Unassigned

Status

()

Toolkit
Telemetry
P3
normal
a year ago
9 months ago

People

(Reporter: Dexter, Unassigned)

Tracking

(Blocks: 2 bugs)

Trunk
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox57 fix-optional)

Details

(Whiteboard: [measurement:client])

(Reporter)

Description

a year ago
In bug 1367029, bug 1359031 and others we started noticing a new emerging pattern: environment feature X is expensive to query, wait until moment Y to query it.

We could make this staged approach explicit and refactor TelemetryEnvironment.jsm to query the system in 3 stages:

1) As soon as Firefox starts, on early initialization. This stage would fill the environment sections with all the data that it's performant and safe (e.g. does not slow down startup too much) to query early.
2) After the session is restored (windows & tabs). In this stage we would query features that are slightly less performant to query and might slow down startup, for example checking if the browser is the default browser.
3) After telemetry delayed init completes, which is 60s into the Firefox startup. All the heavy gatherings (addon extended info!) will belong to this stage.

This bug is about:

- refactoring TelemetryEnvironment to introduce the concept of stages;
- moving all the relevant measurements to the first stage;
- updating the docs (stages, etc.)
(Reporter)

Updated

a year ago
Blocks: 1201022
Priority: -- → P3
(Reporter)

Updated

a year ago
Blocks: 1372848
(Reporter)

Updated

a year ago
Whiteboard: [measurement:client]
status-firefox57: --- → fix-optional
You need to log in before you can comment on or make changes to this bug.