getsentry / getsentry/sentry-java

Use PriorityQueue when capturing events and prioritize Crash events over others

未关闭
#2,733 1 条评论 0 个 reaction 已指派 1 人 已被 @romtsn 认领 在 GitHub 查看
Android Errors Improvement
主要语言
Kotlin
星标
1.4k
派生
478
平均合并
2 天 23 小时
30 天内合并 PR
67

描述

### Description

We use a single-threaded queued executor for caching and sending events, we could actually use a priority queue as the underlying implementation and prioritize crash events over everything else, because they are blocking the execution thread (often main thread on Android). For now, if you have other events in the queue (like custom messages, non-fatal errors, transactions, etc.), they all will be postponing the release of the crash lock if it comes in after them, and we could put it on top of the queue instead.

We should keep thread safety in mind here, and potential side effects on e.g. session state, when prioritizing crashes over e.g. ANRs.

Originally reported in #2719

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。