Closed Bug 1556467 Opened 5 years ago Closed 5 years ago

Add GC telemetry to measure how often we run collections and slices

Categories

(Core :: JavaScript: GC, task, P1)

task

Tracking

()

RESOLVED FIXED
mozilla69
Tracking Status
firefox69 --- fixed

People

(Reporter: jonco, Assigned: jonco)

References

(Blocks 1 open bug)

Details

Attachments

(4 files)

To improve GC scheduling we need to have data on often we trigger collections and how often we run slices within those collections.

For the CC, we have CYCLE_COLLECTOR_TIME_BETWEEN.

(In reply to Jon Coppeard (:jonco) from comment #0)
Also, pbone suggested we should gather data on how many slices we use per collection.

Requesting data collection review.

Attachment #9069712 - Flags: feedback?(chutten)
Comment on attachment 9069712 [details]
data_collection_request.txt

Preliminary notes:

The data collection review request is for all channels default-on collection, but the Histograms definitions lack `"releaseChannelCollection": "opt-out",` which is necessary for the collections to be collected on all channels. 

Also, a word on telemetry alerts: Telemetry Alerting is best-effort and has several known and unknown flaws. If you require monitoring on these probes we sadly do not have an automated service for that so you will either need to monitor them manually or contact Data Science or Data Platform about some specific monitoring/dashboarding needs.

Also also, it is recommended that new permanent collections have automated test coverage. With expiring probes the renewal cycle ensures we take a look at the code and the probe regularly. Without that, the probe may fail at any time without notice. If you'd like assistance in this, you can find the Firefox Telemetry Team on IRC in #telemetry.

Also also also, it is convention to include the units in the names of the probes as a suffix. (a la `GC_MS`)

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. This collection is Telemetry so is documented in its definitions file [Histograms.json](https://hg.mozilla.org/mozilla-central/file/tip/toolkit/components/telemetry/Histograms.json) and the [Probe Dictionary](https://telemetry.mozilla.org/probe-dictionary/).

    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?

Yes, :jonco is responsible.

    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?

No. This collection is permanent.

---
Result: datareview+
Attachment #9069712 - Flags: feedback?(chutten) → feedback+
Attachment #9069712 - Flags: feedback+ → data-review+

(In reply to Chris H-C :chutten from comment #7)
Thanks for the comments. I'll add releaseChannelCollection to the histograms and add usage suffixes.

I've filed bug 1556992 for adding tests.

Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/0d48fb8c5f85
Add telemetry for time since last GC on the main thread r=sfink
https://hg.mozilla.org/integration/mozilla-inbound/rev/c1733d3de862
Add telemetry for time between GC slices on the main thread r=sfink
https://hg.mozilla.org/integration/mozilla-inbound/rev/e483443526a2
Add telemetry for number of GC slices on the main thread r=sfink
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: