Skip to content

RUM-8546: Support Flutter's FBC and custom INV values#2520

Merged
fuzzybinary merged 7 commits into
developfrom
jward/RUM-8546-first-build-complete
Mar 5, 2025
Merged

RUM-8546: Support Flutter's FBC and custom INV values#2520
fuzzybinary merged 7 commits into
developfrom
jward/RUM-8546-first-build-complete

Conversation

@fuzzybinary

Copy link
Copy Markdown
Member

What does this PR do?

Both Flutter's "First Build Complete" (FBC) and "Interaction to Next View" (INV) timings are sent as "internal view attributes" which are kept separate from other attributes. Sending view updates pulls these internal attributes and puts them in the proper locations on the RUMViewEvent

This PR also offers a way to disable INV, so that Flutter can disable its calculation in favor of its own.

Review checklist (to be filled by reviewers)

  • Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
  • Make sure you discussed the feature or bugfix with the maintaining team in an Issue
  • Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

Both Flutter's "First Build Complete" (FBC) and "Interaction to Next View" (INV) timings are sent as "internal view attributes" which are kept separate from other attributes. Sending view updates pulls these internal attributes and puts them in the proper locations on the RUMViewEvent

This PR also offers a way to disable INV, so that Flutter can disable its calculation in favor of its own.
@fuzzybinary
fuzzybinary requested review from a team as code owners March 3, 2025 20:56
* @param lastInteractionIdentifier the [LastInteractionIdentifier] to use.
*/
fun setLastInteractionIdentifier(lastInteractionIdentifier: LastInteractionIdentifier): Builder {
fun setLastInteractionIdentifier(lastInteractionIdentifier: LastInteractionIdentifier?): Builder {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a change in the existing public API, not breaking though. I believe we now allow null to disable identifier? Was using no-op implementation instead of null considered?

We probably need to add an explanation what null value does in the doc.

@fuzzybinary
fuzzybinary requested a review from 0xnm March 4, 2025 13:25
@fuzzybinary
fuzzybinary force-pushed the jward/RUM-8546-first-build-complete branch from 0b66000 to 9754a1c Compare March 4, 2025 16:13
@codecov-commenter

codecov-commenter commented Mar 4, 2025

Copy link
Copy Markdown

Codecov Report

Attention: Patch coverage is 86.84211% with 5 lines in your changes missing coverage. Please review.

Project coverage is 70.05%. Comparing base (30755a2) to head (02f48a9).
Report is 12 commits behind head on develop.

Files with missing lines Patch % Lines
...ntonextview/InteractionToNextViewMetricResolver.kt 72.73% 0 Missing and 3 partials ⚠️
...otlin/com/datadog/android/rum/_RumInternalProxy.kt 0.00% 1 Missing ⚠️
.../android/rum/internal/domain/scope/RumViewScope.kt 92.86% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #2520      +/-   ##
===========================================
+ Coverage    70.00%   70.05%   +0.05%     
===========================================
  Files          796      796              
  Lines        29929    29957      +28     
  Branches      5000     5012      +12     
===========================================
+ Hits         20950    20986      +36     
+ Misses        7587     7576      -11     
- Partials      1392     1395       +3     
Files with missing lines Coverage Δ
...kotlin/com/datadog/android/rum/RumConfiguration.kt 97.01% <ø> (ø)
...lin/com/datadog/android/rum/internal/RumFeature.kt 92.16% <100.00%> (+0.65%) ⬆️
...d/rum/internal/domain/scope/RumApplicationScope.kt 94.00% <100.00%> (-1.00%) ⬇️
...g/android/rum/internal/domain/scope/RumRawEvent.kt 100.00% <100.00%> (ø)
...droid/rum/internal/domain/scope/RumSessionScope.kt 96.69% <ø> (ø)
...d/rum/internal/domain/scope/RumViewManagerScope.kt 91.24% <ø> (-0.52%) ⬇️
...d/rum/internal/metric/ViewEndedMetricDispatcher.kt 88.24% <100.00%> (-2.67%) ⬇️
.../internal/metric/ViewInitializationMetricsState.kt 100.00% <100.00%> (ø)
.../android/rum/internal/monitor/DatadogRumMonitor.kt 85.76% <100.00%> (+0.05%) ⬆️
...otlin/com/datadog/android/rum/_RumInternalProxy.kt 73.33% <0.00%> (-5.24%) ⬇️
... and 2 more

... and 31 files with indirect coverage changes

0xnm
0xnm previously approved these changes Mar 4, 2025
…d/rum/RumConfiguration.kt

Co-authored-by: Nikita Ogorodnikov <[email protected]>
@fuzzybinary
fuzzybinary merged commit 146a8c9 into develop Mar 5, 2025
@fuzzybinary
fuzzybinary deleted the jward/RUM-8546-first-build-complete branch March 5, 2025 12:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants