Make 'room list catch-up' analytics transaction network aware (#6233)

* Make 'room list catch-up' analytics transaction network aware.
* Add `RoomListService.isInitialSyncDone`. Use this to simplify `DefaultAnalyticsRoomListStateWatcher`'s logic.
This commit is contained in:
Jorge Martin Espinosa 2026-03-03 13:16:58 +01:00 committed by GitHub
parent 1f69958dab
commit 70d5e1868a
9 changed files with 91 additions and 38 deletions

View file

@ -11,7 +11,10 @@ import io.element.android.services.analyticsproviders.api.AnalyticsTransaction
import io.sentry.ISpan
import io.sentry.ITransaction
import io.sentry.Sentry
import io.sentry.SentryInstantDate
import timber.log.Timber
import kotlin.time.Duration
import kotlin.time.Duration.Companion.nanoseconds
class SentryAnalyticsTransaction private constructor(span: ISpan) : AnalyticsTransaction {
constructor(name: String, operation: String?, description: String? = null) : this(
@ -19,6 +22,11 @@ class SentryAnalyticsTransaction private constructor(span: ISpan) : AnalyticsTra
)
private val inner = span
@Suppress("UnstableApiUsage")
override val duration: Duration get() {
return (inner.finishDate ?: SentryInstantDate()).diff(inner.startDate).nanoseconds
}
override fun startChild(operation: String, description: String?): AnalyticsTransaction = SentryAnalyticsTransaction(
inner.startChild(operation, description)
)