getsentry / getsentry/sentry-java

Support multi-process scope sync

Aberta
#3,849 1 comentário 0 reações 0 responsáveis Ver no GitHub
Android Errors Improvement
Linguagem predominante
Kotlin
Estrelas
1.4k
Forks
478
Merge médio
3d 4h
PRs com merge (30d)
72

Descrição

### Description

Currently if the Android SDK is used in an multi-process app, the scopes are not synchronized between processes, meaning breadcrumbs/tags/contexts from one process will not show up for errors from another. We should probably introduce a flag to make this opt-in, and to make it work we can do one of the following:

1. Communicate between processes using `IBinder` through a [bound service](https://developer.android.com/develop/background-work/services#CreatingBoundService) and package data as Parcelable. Here's a good example on implementing IPC: https://github.com/perihanmirkelam/IPC-Examples
2. Persist the scope data to disk from both processes and when an error occurs in any of them, use the persisted data in favour of what's currently in-memory. We already do persist the data for ANRs, so it could be as simple as replacing our MainEventProcessor and DefaultAndroidEventProcessor with a new one that reads the data from disk (use [AnrV2EventProcessor](https://github.com/getsentry/sentry-java/blob/main/sentry-android-core/src/main/java/io/sentry/android/core/AnrV2EventProcessor.java) as prior art).

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Read sentry-android-core/src/main/java/io/sentry/android/core/AnrV2EventProcessor.java and compare it with the referenced MainEventProcessor and DefaultAndroidEventProcessor implementations. Choose an opt-in synchronization approach and verify that breadcrumbs, tags, and contexts from one process are available when another process reports an error.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
android
Domínio
mobile-dev
Tipo de issue
Funcionalidade
Dificuldade
5/5
Tempo estimado
Mais de uma semana
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
30/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.