Closed Bug 1518490 Opened 2 years ago Closed 2 years ago

Add module load duration to Untrusted Module telemetry ping

Categories

(External Software Affecting Firefox :: Other, enhancement, P1)

Unspecified
Windows
enhancement

Tracking

(firefox66 fixed)

RESOLVED FIXED
Tracking Status
firefox66 --- fixed

People

(Reporter: ccorcoran, Assigned: ccorcoran)

References

Details

Attachments

(4 files)

Let's measure how long module loads take and send this along with the Untrusted Modules ping.

Having this information, we could also consider sending it with Modules ping.

In order to analyze timing between systems in a more unified way, I propose also adding the timing of xul.dll loading to the payload root. This way we can measure DLL load times as ratios to XUL loading, which should give a more-or-less even playfield when measuring load time performance. This way our analysis won't be biased by very slow systems.

This patch measures the duration of module loads and passes it up to
UntrustedModulesManager where, in later patches, it will be consumed by
telemetry.
In order to help unify DLL timings across machines with different performance
characteristics, this change collects the load duration of xul.dll.

Because xul.dll is always loaded, it can serve as a control value for DLL load
times.

Depends on D16011
This patch:
- Adds two new fields to the untrusted modules ping
- Updates the corresponding documentation for these 2 fields
- Adds documentation for a new ModuleTrustFlags bitfield value (Xul)
- Makes a correction in the documentation for ModuleTrustFlags (JIT, keyboard layouts)

Depends on D16012

Passing try build:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=217e956951ead03e245e9d2cc48dc8ba72905be1

Talos:
https://treeherder.mozilla.org/perf.html#/comparechooser?newProject=try&newRevision=217e956951ead03e245e9d2cc48dc8ba72905be1

Quick tip on testing untrusted modules pings: Open "about:telemetry", hit ctrl+shift+k to open the dev console, and paste:

Cu.import("resource://gre/modules/UntrustedModulesPing.jsm");
TelemetryUntrustedModulesPing.notify();

This will process & send the ping, viewable in the "archived ping" section.

Requesting data review for these 2 new fields in the untrusted modules ping.

Attachment #9035261 - Flags: review?(chutten)
Status: NEW → ASSIGNED
Priority: -- → P1

Comment on attachment 9035261 [details]
Request for data collection review form - Bug 1518490.txt

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. These collections are part of the untrustedModules ping which is documented in the in tree documentation.

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

Yes. These collections are 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. :ccorcoran 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 Nightly only.

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. These collections are permanent.


Result: datareview+

Attachment #9035261 - Flags: review?(chutten) → review+
Blocks: 1518798
Blocks: 1520145
Keywords: checkin-needed

Pushed by rvandermeulen@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/400434070f20
Part 1/3: Measure DLL load timings and pass into UntrustedModulesManager r=aklotz
https://hg.mozilla.org/integration/autoland/rev/1b8f7dd09d84
Part 2/3: Measure xul.dll load duration r=aklotz
https://hg.mozilla.org/integration/autoland/rev/1b1fe5815dff
Part 3/3: Send XUL load duration and module load duration via untrusted modules ping r=aklotz

Keywords: checkin-needed
Component: General → Other
Product: Core → External Software Affecting Firefox
Target Milestone: mozilla66 → ---
Version: Trunk → unspecified
You need to log in before you can comment on or make changes to this bug.