getsentry / getsentry/sentry-react-native
Capture transaction on crash
- Lenguaje dominante
- TypeScript
- Estrellas
- 1.8k
- Forks
- 366
- Merge medio
- 1 d 6 h
- PR fusionados (30 d)
- 94
Descripción
### 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)
Guía de contribución
Línea de trabajo
Empieza por el manejador de errores global de React Native y los manejadores de señales nativos descritos en el issue. Lee react-native-exception-handler, sentry-java's UncaughtExceptionHandlerIntegration.java y sentry-cocoa's SentryCrashIntegration.m para conocer las rutas de excepción relevantes. Se considera terminado cuando las transacciones JS sin finalizar se terminan y se guardan para crashes de JS, iOS, Android JVM y Android nativo.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- android, ios, javascript, react-native, typescript
- Área
- mobile
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 25/100