-
-
Notifications
You must be signed in to change notification settings - Fork 47
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
feat: Add field to RawFrame to control instruction address adjustment #948
Conversation
Another question: should we make |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Codecov ReportBase: 69.38% // Head: 69.41% // Increases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## master #948 +/- ##
==========================================
+ Coverage 69.38% 69.41% +0.02%
==========================================
Files 74 74
Lines 11540 11573 +33
==========================================
+ Hits 8007 8033 +26
- Misses 3533 3540 +7
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. |
Implements handling of `instruction_addr_adjustment` and attaching appropriate per-frame attributes (`adjust_instruction_addr`) when sending stack traces to symbolicator. It implements the Sentry and Profiling side of [RFC 43](getsentry/rfcs#43) The Symbolicator side is implemented in getsentry/symbolicator#948. --------- Co-authored-by: Sebastian Zivota <loewenheim@mailbox.org>
Implements handling of `instruction_addr_adjustment` and attaching appropriate per-frame attributes (`adjust_instruction_addr`) when sending stack traces to symbolicator. It implements the Sentry and Profiling side of [RFC 43](getsentry/rfcs#43) The Symbolicator side is implemented in getsentry/symbolicator#948. --------- Co-authored-by: Sebastian Zivota <loewenheim@mailbox.org>
Implements handling of `instruction_addr_adjustment` and attaching appropriate per-frame attributes (`adjust_instruction_addr`) when sending stack traces to symbolicator. It implements the Sentry and Profiling side of [RFC 43](getsentry/rfcs#43) The Symbolicator side is implemented in getsentry/symbolicator#948. --------- Co-authored-by: Sebastian Zivota <loewenheim@mailbox.org>
This implements the
symbolicator
part of getsentry/rfcs#43. It adds a new fieldinstruction_addr_needs_adjustment: Option<bool>
toRawFrame
which is then used to decide whether the frame's instruction address needs to be adjusted to account for an off-by-one error. Internally, this field is mapped to a new enumAdjustInstructionAddr
which should make the intended behavior clearer than using a bareOption<bool>
.Some open questions:
AdjustInstructionAddr::default_for_thread
andAdjustInstructionAddr::for_frame
are very short and only used in one place each; I created dedicated functions for clarity and documentation purposes. Should we inline these instead?instruction_addr_needs_adjustment
in the frame returned bysymbolicate_native_frame
? Should we use the value from the input frame? Should we just useNone
?