getsentry / getsentry/sentry-java
Track composable functions with @SentryTraceable annotation
未關閉
Android
Improvement
Jetpack Compose
Spans
- 主要語言
- Kotlin
- 星號
- 1.4k
- 分支
- 478
- 平均合併
- 3 天 4 小時
- 30 天內合併 PR
- 72
描述
### Description
Create transactions/spans for `@Composable` functions annotated with `@SentryTraceable`, so we can enrich events that pop up within that composable lifetime. The code to measure that could roughly look like this:
```kotlin
DisposableEffect(Unit) {
Log.e("SENTRY", "ENTERED COMPOSITION")
onDispose {
Log.e("SENTRY", "LEFT COMPOSITION")
}
}
```
Would require bytecode manipulation through SAGP.
貢獻指南
研究方向
首先定位現有的 @SentryTraceable 註解和 SAGP 整合,然後檢視 @Composable 函式如何使用 DisposableEffect 來管理 composition 生命週期。定義進入和離開帶註解 composable 時 transaction 或 span 的行為,並驗證其生命週期內的事件是否如預期獲得豐富。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- android, kotlin
- 領域
- mobile
- Issue 類型
- 功能
- 難度
- 5/5
- 預估耗時
- 一週以上
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100