feat: Use full flamegraph for metrickit app hangs#7185
feat: Use full flamegraph for metrickit app hangs#7185noahsmartin wants to merge 1 commit intomainfrom
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.
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