DataDog / dd-sdk-android

Datadog SDK for Android (Compatible with Kotlin and Java)
Apache License 2.0
140 stars 56 forks source link

RUM-3741: Use BackpressureExecutor for SessionReplay event processing #2116

Closed jonathanmos closed 6 days ago

jonathanmos commented 1 week ago

What does this PR do?

Uses the BackpressureExecutor for session replay event processing.

Motivation

The session replay event loop can experience backpressure, especially in applications with an endless feed.

Additional Notes

Anything else we should know when reviewing?

Review checklist (to be filled by reviewers)

codecov-commenter commented 1 week ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 70.14%. Comparing base (eaa15cd) to head (9abafaf).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## develop #2116 +/- ## =========================================== - Coverage 70.23% 70.14% -0.09% =========================================== Files 721 721 Lines 26761 26756 -5 Branches 4484 4487 +3 =========================================== - Hits 18794 18767 -27 - Misses 6718 6745 +27 + Partials 1249 1244 -5 ``` | [Files](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2116?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | Coverage Δ | | |---|---|---| | [...nreplay/internal/recorder/SessionReplayRecorder.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2116?src=pr&el=tree&filepath=features%2Fdd-sdk-android-session-replay%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fsessionreplay%2Finternal%2Frecorder%2FSessionReplayRecorder.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZmVhdHVyZXMvZGQtc2RrLWFuZHJvaWQtc2Vzc2lvbi1yZXBsYXkvc3JjL21haW4va290bGluL2NvbS9kYXRhZG9nL2FuZHJvaWQvc2Vzc2lvbnJlcGxheS9pbnRlcm5hbC9yZWNvcmRlci9TZXNzaW9uUmVwbGF5UmVjb3JkZXIua3Q=) | `96.75% <100.00%> (-0.13%)` | :arrow_down: | ... and [23 files with indirect coverage changes](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2116/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog)