Closed Bug 1645862 Opened 5 years ago Closed 5 years ago

Don't load most of TelemetryController.jsm in content processes

Categories

(Toolkit :: Telemetry, task)

task

Tracking

()

RESOLVED FIXED
mozilla79
Tracking Status
firefox79 --- fixed

People

(Reporter: kmag, Assigned: kmag)

References

(Blocks 2 open bugs)

Details

(Keywords: perf-alert, Whiteboard: [overhead:30k])

Attachments

(2 files, 1 obsolete file)

It occupies a huge amount of memory in each content process, and most of it is never actually used.

Do you have an estimate of how much memory it is using in total?

Flags: needinfo?(kmaglione+bmo)

At least 30K

Flags: needinfo?(kmaglione+bmo)

Last time we tackled that we got some reductions of Telemtry in content processes, but the effort died out a bit, including refactoring TelemetryController itself (bug 1479719).
If we need to re-prioritize this then we need some new planning inside the team I guess.

See Also: → 1479719

This is the only part of TelemetryController used by external code in the
content process, so separating it from the rest of TelemetryController is the
first step to completely segregating parent- and content-specific code.

Most of TelemetryController is only used in the parent process, but is
currently loaded in all processes, where it needlessly consumes tens of KB of
memory. This patch splits the parent- and content-specific parts, and only
loads each in the processes where they're needed.

Whiteboard: [overhead:30k]
Attachment #9157039 - Attachment is obsolete: true
Attachment #9157040 - Attachment description: Bug 1645862: Part 2 - Split TelemetryController into parent and content modules. r=chutten → Bug 1645862: Part 1 - Split TelemetryController into parent and content modules. r=chutten
Attachment #9157041 - Attachment description: Bug 1645862: Part 3 - Get rid of ContentProcessSingleton. r=chutten → Bug 1645862: Part 2 - Get rid of ContentProcessSingleton. r=chutten
Pushed by maglione.k@gmail.com: https://hg.mozilla.org/integration/autoland/rev/12e1039aba47 Part 1 - Split TelemetryController into parent and content modules. r=chutten https://hg.mozilla.org/integration/autoland/rev/015c7a1af896 Part 2 - Get rid of ContentProcessSingleton. r=chutten
Pushed by maglione.k@gmail.com: https://hg.mozilla.org/integration/autoland/rev/b4643e4db774 Part 1 - Split TelemetryController into parent and content modules. r=chutten https://hg.mozilla.org/integration/autoland/rev/c5ae0087c1e7 Part 2 - Get rid of ContentProcessSingleton. r=chutten
Blocks: 1470339
Pushed by maglione.k@gmail.com: https://hg.mozilla.org/integration/autoland/rev/f4bca734f663 Part 1 - Split TelemetryController into parent and content modules. r=chutten https://hg.mozilla.org/integration/autoland/rev/003cd7d6b5de Part 2 - Get rid of ContentProcessSingleton. r=chutten
Flags: needinfo?(kmaglione+bmo)
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla79

== Change summary for alert #26325 (as of Thu, 25 Jun 2020 04:59:47 GMT) ==

Improvements:

7% Base Content Resident Unique Memory windows10-64-shippable-qr opt 13,904,981.33 -> 12,923,562.67
4% Base Content JS windows10-64-shippable opt 3,748,973.33 -> 3,597,664.67
4% Base Content JS windows10-64-shippable-qr opt 3,748,800.00 -> 3,599,192.67
4% Base Content JS windows7-32-shippable opt 2,866,150.50 -> 2,764,338.67
3% Base Content JS linux1804-64-shippable opt 3,665,037.00 -> 3,539,590.67
3% Base Content JS linux1804-64-shippable-qr opt 3,665,020.67 -> 3,539,534.00
3% Base Content JS macosx1014-64-shippable opt 3,682,026.33 -> 3,558,734.33

For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=26325

Keywords: perf-alert
Regressions: 1648854
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: