-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RUM-321: Introduce view event filtering in upload pipeline, remove view event throttling in write pipeline #1678
RUM-321: Introduce view event filtering in upload pipeline, remove view event throttling in write pipeline #1678
Conversation
...dk-android-rum/src/main/kotlin/com/datadog/android/rum/internal/domain/event/RumEventMeta.kt
Outdated
Show resolved
Hide resolved
...um/src/main/kotlin/com/datadog/android/rum/internal/domain/event/RumEventMetaDeserializer.kt
Outdated
Show resolved
Hide resolved
NullPointerException::class, | ||
ClassCastException::class, | ||
IllegalStateException::class, | ||
NumberFormatException::class |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note
It might be relevant to add as a comment what situation those exception could rise from?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I changed the way we are doing the parsing, so that it looks now the same as for other RUM events and the only exception thrown is JsonParseException
. Let me know what you think.
...dk-android-rum/src/main/kotlin/com/datadog/android/rum/internal/domain/event/RumEventMeta.kt
Outdated
Show resolved
Hide resolved
...dk-android-rum/src/main/kotlin/com/datadog/android/rum/internal/domain/event/RumEventMeta.kt
Outdated
Show resolved
Hide resolved
...-rum/src/main/kotlin/com/datadog/android/rum/internal/domain/event/RumEventMetaSerializer.kt
Outdated
Show resolved
Hide resolved
...roid-rum/src/main/kotlin/com/datadog/android/rum/internal/domain/event/RumViewEventFilter.kt
Show resolved
Hide resolved
Codecov Report
@@ Coverage Diff @@
## develop #1678 +/- ##
===========================================
+ Coverage 83.70% 83.71% +0.01%
===========================================
Files 459 462 +3
Lines 15770 15843 +73
Branches 2360 2363 +3
===========================================
+ Hits 13200 13262 +62
+ Misses 1945 1943 -2
- Partials 625 638 +13
|
de31563
to
4a3f24c
Compare
What does this PR do?
This is the counterpart of DataDog/dd-sdk-ios#1328 for Android.
This PR filters out RUM View events during the upload process following the logic that batch should have only one RUM view event for a given ID and this event should have maximum
documentVersion
property value. To support that we introduce RUM View event metadata which will be attached to every view event written and read back during the upload cycle.View throttling logic in
RumViewScope
is removed.Review checklist (to be filled by reviewers)