-
-
Notifications
You must be signed in to change notification settings - Fork 376
feat: Use full flamegraph for metrickit app hangs #7185
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
base: main
Are you sure you want to change the base?
Conversation
Semver Impact of This PR🟡 Minor (new features) 📋 Changelog PreviewThis is how your changes will appear in the changelog. New Features ✨Metrics
Other
Bug Fixes 🐛
Build / dependencies / internal 🔧Deps
Other
Other
🤖 This preview updates automatically when you update the PR. |
Instructions and example for changelogPlease add an entry to Example: ## Unreleased
### Features
- Use full flamegraph for metrickit app hangs ([#7185](https://github.com/getsentry/sentry-cocoa/pull/7185))If none of the above apply, you can opt out of this check by adding |
❌ 1 Tests Failed:
View the full list of 1 ❄️ flaky test(s)
To view more test analytics, go to the Test Analytics Dashboard |
| // First look for the crashing thread, but for events that were not a crash (like a hang) take the first thread | ||
| // since those events only report one thread | ||
| let exceptionThread = threads.first { $0.crashed?.boolValue == true } ?? threads.first | ||
| event.debugMeta = debugMeta | ||
| event.threads = threads | ||
|
|
||
| if let exceptionThread, let exception = event.exceptions?[0] { | ||
| exception.stacktrace = exceptionThread.stacktrace | ||
| exception.threadId = exceptionThread.threadId | ||
| } |
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.
h: I know this is a draft, but this question is crucial to ask. Do you have any clue how grouping is going to work for these types of exceptions?
Instead of only providing the most commonly sampled stacktrace, we can capture the full call stack tree for metric kit hangs and show them as a flamegraph. The frontend implementation of this is here: getsentry/sentry#106412