Closed Bug 1142174 Opened 5 years ago Closed 5 years ago

Normalize omni.ja! paths when diffing about:memory reports

Categories

(Toolkit :: about:memory, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla40
Tracking Status
firefox40 --- fixed

People

(Reporter: erahm, Assigned: erahm)

Details

Attachments

(1 file)

This is particularly a problem when diffing awsy memory reports where each binary is installed into a temp dir. For example:

>│  └──0.28 MB (03.64%) -- zones/zone(0xNNN)
>│     ├──-0.54 MB (-7.02%) ++ compartment([System Principal], jar:file:///tmp/tmp2DqEYgBuildGetter_firefox/firefox/omni.ja!/components/marionettecomponent.js)
>│     ├──0.54 MB (07.02%) ++ compartment([System Principal], jar:file:///tmp/tmpl5CA4xBuildGetter_firefox/firefox/omni.ja!/components/marionettecomponent.js)
>│     ├──-0.48 MB (-6.24%) ++ compartment([System Principal], jar:file:///tmp/tmp2DqEYgBuildGetter_firefox/firefox/omni.ja!/components/nsBlocklistService.js)
>│     ├──0.48 MB (06.24%) ++ compartment([System Principal], jar:file:///tmp/tmpl5CA4xBuildGetter_firefox/firefox/omni.ja!/components/nsBlocklistService.js)
>│     ├──-0.29 MB (-3.81%) ++ compartment([System Principal], jar:file:///tmp/tmp2DqEYgBuildGetter_firefox/firefox/omni.ja!/components/nsSearchService.js)
>│     ├──0.29 MB (03.81%) ++ compartment([System Principal], jar:file:///tmp/tmpl5CA4xBuildGetter_firefox/firefox/omni.ja!/components/nsSearchService.js)
>│     ├──0.26 MB (03.45%) ++ (125 tiny)
>│     ├──-0.16 MB (-2.09%) ++ compartment([System Principal], jar:file:///tmp/tmp2DqEYgBuildGetter_firefox/firefox/browser/omni.ja!/components/nsBrowserGlue.js)
>│     ├──0.16 MB (02.09%) ++ compartment([System Principal], jar:file:///tmp/tmpl5CA4xBuildGetter_firefox/firefox/browser/omni.ja!/components/nsBrowserGlue.js)
>│     ├──-0.16 MB (-2.04%) ++ compartment([System Principal], jar:file:///tmp/tmp2DqEYgBuildGetter_firefox/firefox/omni.ja!/components/nsUpdateService.js)
>│     ├──0.16 MB (02.04%) ++ compartment([System Principal], jar:file:///tmp/tmpl5CA4xBuildGetter_firefox/firefox/omni.ja!/components/nsUpdateService.js)
>│     ├──0.13 MB (01.68%) ++ compartment([System Principal], jar:file:///tmp/tmpl5CA4xBuildGetter_firefox/firefox/omni.ja!/components/DataReportingService.js)
>│     ├──-0.13 MB (-1.68%) ++ compartment([System Principal], jar:file:///tmp/tmp2DqEYgBuildGetter_firefox/firefox/omni.ja!/components/DataReportingService.js)
>│     ├──-0.11 MB (-1.46%) ++ compartment([System Principal], jar:file:///tmp/tmp2DqEYgBuildGetter_firefox/firefox/omni.ja!/components/UnifiedComplete.js)
>│     ├──0.11 MB (01.46%) ++ compartment([System Principal], jar:file:///tmp/tmpl5CA4xBuildGetter_firefox/firefox/omni.ja!/components/UnifiedComplete.js)
>│     ├──-0.10 MB (-1.31%) ++ compartment([System Principal], jar:file:///tmp/tmp2DqEYgBuildGetter_firefox/firefox/omni.ja!/components/PeerConnection.js)
>│     ├──0.10 MB (01.31%) ++ compartment([System Principal], jar:file:///tmp/tmpl5CA4xBuildGetter_firefox/firefox/omni.ja!/components/PeerConnection.js)
>│     ├──-0.10 MB (-1.30%) ++ compartment([System Principal], jar:file:///tmp/tmp2DqEYgBuildGetter_firefox/firefox/omni.ja!/components/nsHandlerService.js)
>│     ├──0.10 MB (01.30%) ++ compartment([System Principal], jar:file:///tmp/tmpl5CA4xBuildGetter_firefox/firefox/omni.ja!/components/nsHandlerService.js)
>│     ├──-0.10 MB (-1.26%) ++ compartment([System Principal], jar:file:///tmp/tmp2DqEYgBuildGetter_firefox/firefox/omni.ja!/components/nsPlacesAutoComplete.js)
>│     ├──0.10 MB (01.26%) ++ compartment([System Principal], jar:file:///tmp/tmpl5CA4xBuildGetter_firefox/firefox/omni.ja!/components/nsPlacesAutoComplete.js)
>│     ├──-0.09 MB (-1.18%) ++ compartment([System Principal], jar:file:///tmp/tmp2DqEYgBuildGetter_firefox/firefox/omni.ja!/components/nsUrlClassifierLib.js)
>│     ├──0.09 MB (01.18%) ++ compartment([System Principal], jar:file:///tmp/tmpl5CA4xBuildGetter_firefox/firefox/omni.ja!/components/nsUrlClassifierLib.js)
>│     ├──-0.09 MB (-1.12%) ++ compartment([System Principal], jar:file:///tmp/tmp2DqEYgBuildGetter_firefox/firefox/omni.ja!/components/nsContentPrefService.js)
>│     ├──0.09 MB (01.12%) ++ compartment([System Principal], jar:file:///tmp/tmpl5CA4xBuildGetter_firefox/firefox/omni.ja!/components/nsContentPrefService.js)
>│     ├──-0.08 MB (-1.10%) ++ compartment([System Principal], jar:file:///tmp/tmp2DqEYgBuildGetter_firefox/firefox/omni.ja!/components/nsUpdateTimerManager.js)
>│     ├──0.08 MB (01.10%) ++ compartment([System Principal], jar:file:///tmp/tmpl5CA4xBuildGetter_firefox/firefox/omni.ja!/components/nsUpdateTimerManager.js)
>│     ├──-0.08 MB (-1.07%) ++ compartment([System Principal], jar:file:///tmp/tmp2DqEYgBuildGetter_firefox/firefox/omni.ja!/components/nsPlacesExpiration.js)
>│     ├──0.08 MB (01.07%) ++ compartment([System Principal], jar:file:///tmp/tmpl5CA4xBuildGetter_firefox/firefox/omni.ja!/components/nsPlacesExpiration.js)
>│     ├──-0.08 MB (-1.04%) ++ compartment([System Principal], jar:file:///tmp/tmp2DqEYgBuildGetter_firefox/firefox/omni.ja!/components/Webapps.js)
>│     ├──0.08 MB (01.04%) ++ compartment([System Principal], jar:file:///tmp/tmpl5CA4xBuildGetter_firefox/firefox/omni.ja!/components/Webapps.js)
>│     └──0.01 MB (00.19%) ++ strings

Perhaps we could just trim off everything b/w 'file:///' and 'omni.ja!' reducing:
>   jar:file:///tmp/tmp2DqEYgBuildGetter_firefox/firefox/omni.ja!/components/Webapps.js
to
>   jar:file:///.../omni.ja!/components/Webapps.js
These paths show up under at least the following entries:
- explicit/js-non-window/zones/zone(0xNNN)
- js-main-runtime-compartments/system
Paths of the form:
  'jar:file:///tmp/tmp2DqEYgBuildGetter_firefox/firefox/omni.ja!/components/Webapps.js'
are now normalized to:
   'jar:file:///.../omni.ja!/components/Webapps.js'
when diffing about:memory reports. This is particularly useful when checking
for regressions across builds which will often have different install paths.
Attachment #8599967 - Flags: review?(n.nethercote)
Assignee: nobody → erahm
Status: NEW → ASSIGNED
Comment on attachment 8599967 [details] [diff] [review]
Normalize omni.ja! paths when diffing about:memory reports

Review of attachment 8599967 [details] [diff] [review]:
-----------------------------------------------------------------

Thank you for updating the test.
Attachment #8599967 - Flags: review?(n.nethercote) → review+
https://hg.mozilla.org/mozilla-central/rev/2a93c3537086
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla40
You need to log in before you can comment on or make changes to this bug.