-
-
Notifications
You must be signed in to change notification settings - Fork 161
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
ref(backtrace): add entries and extra logic for in-app detection #756
Conversation
@@ -13,11 +14,14 @@ const WELL_KNOWN_SYS_MODULES: &[&str] = &[ | |||
// these are not modules but things like __rust_maybe_catch_panic | |||
"__rust_", | |||
"___rust_", | |||
"rust_begin_unwind", |
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.
This is always the top frame for panics and ends up in the high level issue description, I would rather have the first in-app frame there
Unless it's intended that we have rust_begin_unwind
there?
"futures_core::", | ||
"futures_util::", |
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.
We should not add too specific stuff but this seems common enough to be here
@@ -111,7 +114,10 @@ pub fn function_starts_with(mut func_name: &str, mut pattern: &str) -> bool { | |||
} | |||
} | |||
} else { | |||
func_name = func_name.trim_start_matches('<').trim_start_matches("_<"); | |||
func_name = func_name | |||
.trim_start_matches("<F as ") |
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.
Specific case that can be commonly observed in raw frames related to futures_core
, futures_util
, axum
, hyper
, and others
It's specific for those cases as in general we will see the form <X as Y>
for trait impls but I don't see any downside with adding this.
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.
detecting this in the SDK requires these symbols to be present at runtime, which is often not the case when one is using a stripped release build.
Ideally the border frame should be added to our default stack trace enhancement rules that are part of serverside grouping, and are also applied after serverside symbolication.
Description
Closes #717