Nightly recordings are too large
Categories
(Core Graveyard :: Web Replay, defect)
Tracking
(firefox74 fixed)
| Tracking | Status | |
|---|---|---|
| firefox74 | --- | fixed |
People
(Reporter: bhackett1024, Assigned: bhackett1024)
References
Details
Attachments
(1 file)
|
Bug 1607297 - Don't include file contents from the firefox install directory in recordings, r=jlast.
47 bytes,
text/x-phabricator-request
|
Details | Review |
When I do a local opt build and visit a simple "Hello World" page, the resulting recording size is 1.2 MB. When I do the same thing in a current nightly, the recording size is 32 MB. The latter needs to be fixed to match the former; there is probably some difference in the system calls made at startup which is causing this (I'm guessing mmap'ing some big files into memory), but it might take a little while to track down because I'll need to debug this using the DMGs from tryserver runs (I don't know how to build nightly DMGs myself).
Big recordings are bad in general but this is especially a problem with cloud replay because recordings need to be uploaded to the cloud before the remote process can replay them.
| Assignee | ||
Comment 1•6 years ago
|
||
| Assignee | ||
Comment 2•6 years ago
•
|
||
With a tip from Jason to use mach package I was able to build my own DMGs and reproduce this with local builds. The problem is indeed that when running a packaged browser there are extra mmap calls --- most browser resources are packed into a couple omni.ja files (https://developer.mozilla.org/en-US/docs/Mozilla/About_omni.ja_(formerly_omni.jar)) that are 70 MB in total and contain almost all the browser's resources. Recordings don't have to include the contents of these files because when replaying we have still have the identical file and can open it directly (we can still include a hash of the file contents in the recording as a sanity check). The above patch performs this optimization for any file in the installation directory (which we figure out using the executable path and some gross string manipulation code), reducing the "Hello World" recording size to 950 K.
Comment 4•6 years ago
|
||
| bugherder | ||
Updated•6 years ago
|
Description
•