Closed Bug 1726281 Opened 3 years ago Closed 3 years ago

Allow symbolication in profiler tabs that were opened by the user

Categories

(DevTools :: Performance Tools (Profiler/Timeline), enhancement, P2)

enhancement

Tracking

(firefox96 fixed)

RESOLVED FIXED
96 Branch
Tracking Status
firefox96 --- fixed

People

(Reporter: mstange, Assigned: mstange)

References

Details

Attachments

(1 file)

When you capture a profile in the browser the normal way, the browser opens the profiler tab, loads the profile into it, and supplies symbolication information.

However, you can also capture profiles in other ways, and save them as a file, without symbolication. (Examples: calling Services.profiler.dumpProfileToFileAsync on the error console, MOZ_SHUTDOWN_PROFILE=profile.json, browsertime profiling...)

Then, if you load those files in the profiler, there may not be any symbols, especially if the profile was captured from a local Firefox build.

This is because for manually opened tabs, there was no symbolication connection to the browser.

However, once symbolication happens via the WebChannel (bug 1625309), there will always be a connection to the browser, in all profiler tabs. We can use the WebChannel to make this use case work.

Steps to reproduce:

  1. Make a local Firefox build.
  2. Start the build with MOZ_PROFILER_STARTUP=1 MOZ_PROFILER_SHUTDOWN=profile.json ./mach run , let it run for a few seconds, and quit it again.
  3. Run the same build again, normally.
  4. Open a profiler.firefox.com tab in that build.
  5. Drag the profile.json file from step 2 into the profiler tab.

Expected results:
The profile should load and then get symbols for libxul.

Actual results:
The profile loads but has no symbols for libxul.


Non-goals for this bug:

  • Loading a profile in a Firefox build that's different from the one that the profile was captured from.
  • Loading a profile that was captured from Android.

These will not get symbols.

This also requires work on the front-end side: https://github.com/firefox-devtools/profiler/pull/3501

This makes it easier to symbolicate profiles that were captured to a file
without symbolication.

Depends on D122923

Severity: -- → S4
Priority: -- → P2
Pushed by mstange@themasta.com: https://hg.mozilla.org/integration/autoland/rev/3c997d7eac8d Allow symbolication WebChannel requests for profiler tabs that weren't opened by a profile capturing action. r=julienw

Backed out 3 changesets (Bug 1726281, Bug 1625309) for causing mochitest failures on browser_popup-profiler-states.js.
Backout link
Push with failures
Failure Log
dt2 log

Flags: needinfo?(mstange.moz)
Flags: needinfo?(mstange.moz)
Pushed by mstange@themasta.com: https://hg.mozilla.org/integration/autoland/rev/e3e65eadcc8f Allow symbolication WebChannel requests for profiler tabs that weren't opened by a profile capturing action. r=julienw
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 96 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: