Add module load duration to Untrusted Module telemetry ping

RESOLVED FIXED

Status

enhancement
P1
normal
RESOLVED FIXED
5 months ago
4 months ago

People

(Reporter: ccorcoran, Assigned: ccorcoran)

Tracking

(Blocks 1 bug)

unspecified
Unspecified
Windows
Dependency tree / graph

Firefox Tracking Flags

(firefox66 fixed)

Details

Attachments

(4 attachments)

Assignee

Description

5 months ago

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.

Assignee

Comment 1

5 months ago

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.

Assignee

Comment 2

5 months ago
This patch measures the duration of module loads and passes it up to
UntrustedModulesManager where, in later patches, it will be consumed by
telemetry.
Assignee

Comment 3

5 months ago
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
Assignee

Comment 4

5 months ago
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
Assignee

Comment 5

5 months ago

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.

Assignee

Comment 6

5 months ago

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

Attachment #9035261 - Flags: review?(chutten)
Assignee

Updated

5 months ago
Status: NEW → ASSIGNED
Priority: -- → P1

Comment 7

5 months ago

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+
Assignee

Updated

5 months ago
Blocks: 1518798
Assignee

Updated

4 months ago
Blocks: 1520145
Assignee

Updated

4 months ago
Keywords: checkin-needed

Comment 8

4 months ago

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

Comment 9

4 months ago
bugherder
Status: ASSIGNED → RESOLVED
Last Resolved: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla66
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.