Skip to content

Add nativeSymbols functionSize column. - #4226

Merged
mstange merged 1 commit into
firefox-devtools:mainfrom
mstange:function-size
Oct 4, 2022
Merged

Add nativeSymbols functionSize column.#4226
mstange merged 1 commit into
firefox-devtools:mainfrom
mstange:function-size

Conversation

@mstange

Copy link
Copy Markdown
Contributor

In order to know how much assembly code to display for a native symbol in the assembly view, we need to know how large the function is, i.e. how many bytes of machine code in contains.

In the assembly view we want to display the entire function, not just the assembly code up until the highest instruction address that we've seen for that function.

The symbolication API now gives us this information, as of mstange/profiler-get-symbols@e8649bf . So we can have this information for local builds and when using samply. The Mozilla symbolication API does not return this information yet, so we need to support "null" values with some kind of fallback.

This commit gets the information from the symbolication result, if present, and forwards it into the nativeSymbols table. We also bump the processed profile version and add an upgrader.

@mstange
mstange requested a review from canovaSeptember 8, 2022 20:03
@mstangemstange self-assigned this Sep 8, 2022
@codecov

codecovBot commented Sep 8, 2022

Copy link
Copy Markdown

Codecov Report

❗ No coverage uploaded for pull request base (main@a47f140). Click here to learn what that means.
Patch has no changes to coverable lines.

❗ Current head bb198c4 differs from pull request most recent head 9982d74. Consider uploading reports for the commit 9982d74 to get more accurate results

Additional details and impacted files
@@ Coverage Diff @@## main #4226 +/- ##
=======================================
Coverage ? 88.51% =======================================
Files ? 282 Lines ? 24757 Branches ? 6613 =======================================
Hits ? 21913 Misses ? 2642 Partials ? 202 

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report at Codecov.
📢 Do you have feedback about the report comment? Let us know in this issue.

@canovacanova left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, thanks!

Comment threadsrc/types/profile.js Outdated
In order to know how much assembly code to display for a native symbol
in the assembly view, we need to know how large the function is, i.e.
how many bytes of machine code in contains.
In the assembly view we want to display the entire function, not just the
assembly code up until the highest instruction address that we've seen
for that function.
The symbolication API now gives us this information, as of
mstange/profiler-get-symbols@e8649bf .
So we can have this information for local builds and when using samply.
The Mozilla symbolication API does not return this information yet, so
we need to support "null" values with some kind of fallback.
This commit gets the information from the symbolication result, if
present, and forwards it into the nativeSymbols table.
We also bump the processed profile version and add an upgrader.
@mstange
mstange merged commit 7b3a30c into firefox-devtools:mainOct 4, 2022
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@mstange@canova