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

[Plat-12269] Prevent inlining of stack trace entries that are going to be pruned #1661

Merged
merged 1 commit into from
Jun 18, 2024

Conversation

kstenerud
Copy link
Contributor

Goal

We prune the top of the stack trace so that our stack trace gathering code doesn't show in customer traces. However, if the optimizer inlines any of the functions/methods along the path, it breaks the pruning.

Design

Force everything along the trace gathering path to NOT be optimized, so that they are never folded or inlined.

Copy link

Bugsnag.framework binary size increased by 136 bytes from 718,176 to 718,312

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.1%    +136  +0.1%    +136    __TEXT,__text
  +0.1%     +80  +0.1%     +80    Symbol Table
  +0.0%     +56  +0.0%     +56    String Table
  -0.1%      -4  -0.1%      -4    __TEXT,__unwind_info
  -0.8%    -132  -0.8%    -132    [__TEXT]
  [ = ]       0  -5.0%    -136    [__LINKEDIT]
  +0.0%    +136  [ = ]       0    TOTAL

Generated by 🚫 Danger

… gathering paths so that we can prune entries with confidence.
@kstenerud kstenerud force-pushed the PLAT-12269-stack-trace-pruning branch from 7379274 to c1a4f5f Compare June 13, 2024 14:14
Copy link

@lemnik lemnik left a comment

Choose a reason for hiding this comment

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

LGTM

@kstenerud kstenerud merged commit 56a3622 into next Jun 18, 2024
40 checks passed
@kstenerud kstenerud deleted the PLAT-12269-stack-trace-pruning branch June 18, 2024 05:55
Sign up for free to 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