getsentry / getsentry/sentry-react-native

Capture transaction on crash

Abierto
#4,427 1 comentario 0 reacciones 0 asignados Ver en GitHub
Improvement React-Native Spans
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

Abrir la 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.