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)
Tracking
()
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.)
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 1•4 years ago
|
||
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.
Assignee | ||
Comment 2•4 years ago
|
||
Depends on D75316
Assignee | ||
Comment 3•4 years ago
|
||
Depends on D75459
Assignee | ||
Comment 4•4 years ago
|
||
Depends on D75460
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 5•3 years ago
|
||
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:
- /symbolicate/v5: This one has the same API as the /symbolicate/v5 entry
point of the official Mozilla symbolication API, see the docs:
https://tecken.readthedocs.io/en/latest/symbolication.html#symbolication-symbolicate-v5 - /symbolicate/v6a2: This has the same request API as v5 but returns
richer data: For each address it also returns file and line information,
as well as the inline stack at that address.
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.
Comment 7•3 years ago
|
||
bugherder |
Updated•3 years ago
|
Description
•