getsentry / getsentry/sentry-react-native

Capture transaction on crash

Open
#4,427 1 comment 0 reactions 0 assignees View on GitHub
Improvement React-Native Spans
Dominant language
TypeScript
Stars
1.8k
Forks
366
Avg merge
1d 9h
Merged PRs (30d)
89

Description

### Description

The React Native SDK does not capture unfinished transactions on application crash. Because performance is handled in JS we need to ensure transactions are saved in the following cases:

- **JS Unhandled Error** End and save unfinished JS transaction in global error handler (currently we only handle errors).
- **iOS Crash** End and save unfinished JS transaction when native signal handler is triggered.
- **Android JVM Crash** End and save unfinished JS transaction when JVM DefaultUncaughtExceptionHandler triggered.
- **Android Native Crash** End and save unfinished JS transaction when native signal handler is triggered.

---

Context for calling JS from native during exception handling. https://github.com/a7ul/react-native-exception-handler

`sentry-java` implementation https://github.com/getsentry/sentry-java/blob/94071dac205bde6a3126cae0a3e35b559e5e915d/sentry/src/main/java/io/sentry/UncaughtExceptionHandlerIntegration.java#L109-L113

`sentry-cocoa` implementation (not by default) https://github.com/getsentry/sentry-cocoa/blob/0d38adaabb4ae206e7237ec24647751558142548/Sources/Sentry/SentryCrashIntegration.m#L41-L49 (flag https://github.com/getsentry/sentry-cocoa/blob/0d38adaabb4ae206e7237ec24647751558142548/Sources/Sentry/SentryCrashIntegration.m#L127-L129)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.