Closed Bug 1563316 Opened 5 years ago Closed 3 years ago

Add an API to SymbolicationService which mimics the Mozilla symbolication API: Symbolicate specified addresses instead of dumping the entire symbol table

Categories

(Core :: Gecko Profiler, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
93 Branch
Tracking Status
firefox69 --- wontfix
firefox93 --- fixed

People

(Reporter: mstange, Assigned: mstange)

References

Details

Attachments

(1 file, 4 obsolete files)

This is the "Gecko"-side of https://github.com/firefox-devtools/profiler/issues/1516:

In ProfilerGetSymbols.jsm, we need a way to request symbols for a set of specified addresses. At the moment, we always expose all symbols.
This new API will save memory and time when symbolicating profiles for local Firefox builds, and it will scale to returning more information per address. (At the moment, the only information we need for a given address is the symbol name and the offset to the start of that symbol. In the future, we will want to return inline callstack information with filenames and line numbers.)

Depends on: 1563305
Blocks: 1563318
Depends on: 1637988
Assignee: nobody → mstange
Status: NEW → ASSIGNED

This updates ProfilerGetSymbols and callers for PR #8:
https://github.com/mstange/profiler-get-symbols/pull/8

Now everything has more levels of indirection.
The payoff from this is not immediately obvious in this commit.
It'll become clearer once we support the JSON symbolication API.

Depends on D75460

Attachment #9149233 - Attachment is obsolete: true
Attachment #9149234 - Attachment is obsolete: true
Attachment #9149235 - Attachment is obsolete: true
Attachment #9149236 - Attachment is obsolete: true
Summary: Add an API to ProfilerGetSymbols.jsm which mimics the Mozilla symbolication API: Symbolicate specified addresses instead of dumping the entire symbol table → Add an API to SymbolicationService which mimics the Mozilla symbolication API: Symbolicate specified addresses instead of dumping the entire symbol table

With the existing getSymbolTable API, we always expose all symbols.
This new API will save memory and time when symbolicating profiles for local
Firefox builds, and it will scale to returning more information per address.

The profiler-get-symbols wasm module currently supports two "path" entry points:

In the future, we may want to add more supported "paths". Since this glue
code is really generic, doing so should be possible without touching most
of the glue code, only by updating the wasm bundle to a newer version of
profiler-get-symbols.

Pushed by mstange@themasta.com: https://hg.mozilla.org/integration/autoland/rev/7f7721dc52a8 Add SymbolicationService.querySymbolicationApi. r=canaltinova
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 93 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: