Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Task]: Reduce Node.js bindings size on Linux when built with debug info #2568

Closed
3 of 5 tasks
rajivshah3 opened this issue Mar 17, 2022 · 3 comments · Fixed by #3188
Closed
3 of 5 tasks

[Task]: Reduce Node.js bindings size on Linux when built with debug info #2568

rajivshah3 opened this issue Mar 17, 2022 · 3 comments · Fixed by #3188
Assignees
Labels
platform:desktop Desktop application type:chore House-keeping etc.

Comments

@rajivshah3
Copy link
Member

rajivshah3 commented Mar 17, 2022

Task description

We need to build the Node.js bindings with debug information for better stacktraces in Sentry, but they are extremely large on Linux (over 580 MB). After some Googling, it seems like Rust may include debug info for dead code (rust-lang/rust#56068) and the ability to split the debug info to a separate file is only available on the nightly toolchain. Since we can't do much about those, we can try other approaches in the meantime, such as limiting the amount of debug info emitted (see benesch/materialize@02cc34c#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542 and rustc docs)

Requirements

  • Reduce Linux binary size
  • Ensure stacktraces in Sentry are still adequate

Acceptance criteria

Above requirements are satisfied

Creation checklist

  • I have assigned this task to the correct people
  • I have added the most appropriate labels
  • I have linked the correct milestone and/or project
@rajivshah3 rajivshah3 self-assigned this Mar 17, 2022
@rajivshah3 rajivshah3 moved this from Backlog to Todo in Firefly - Task Management Mar 17, 2022
@rajivshah3 rajivshah3 moved this from Todo to In progress in Firefly - Task Management Mar 22, 2022
@rajivshah3
Copy link
Member Author

Changing debug from true (full debug info) to 1 (line debug info) reduced size by 41% (from 579 MB to 340 MB), but let's see if we can get it to be smaller

@cvarley100
Copy link
Contributor

Any more thoughts on this @rajivshah3?

@rajivshah3
Copy link
Member Author

the ability to split the debug info to a separate file is only available on the nightly toolchain

Not sure why I didn't think about doing it manually with the GNU binutils 😅 Let's see if Sentry will symbolicate errors if we do it that way

Repository owner moved this from In progress to Done in Firefly - Task Management May 19, 2022
@maxwellmattryan maxwellmattryan added platform:desktop Desktop application and removed package:backend labels Mar 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
platform:desktop Desktop application type:chore House-keeping etc.
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

3 participants