Skip to content

timeseries [5/6] RUM-13949 Wire timeseries collection into RUM session lifecycle#3435

Draft
satween wants to merge 2 commits into
tvaleev/feature/RUM-13949/timeseries-memory-session-factoryfrom
tvaleev/feature/RUM-13949/timeseries-rum-session-wiring
Draft

timeseries [5/6] RUM-13949 Wire timeseries collection into RUM session lifecycle#3435
satween wants to merge 2 commits into
tvaleev/feature/RUM-13949/timeseries-memory-session-factoryfrom
tvaleev/feature/RUM-13949/timeseries-rum-session-wiring

Conversation

@satween
Copy link
Copy Markdown
Contributor

@satween satween commented May 12, 2026

What does this PR do?

Adds enableTimeseries()/disableTimeseries() builder methods on RumConfiguration.Builder. Wires the Timeseries.Factory through RumFeatureDatadogRumMonitorRumApplicationScopeRumSessionScope, so that a new RumSessionScopeTimeseries collector is created and started for each sampled session and stopped on session end or SDK teardown. Also enables timeseries in the Kotlin sample app.

Motivation

Connects the standalone pipeline and public configuration API to the existing RUM session lifecycle, completing the end-to-end data flow from configuration through to event emission.

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)

Copy link
Copy Markdown
Contributor Author

satween commented May 12, 2026

@satween satween changed the title RUM-13949 Wire timeseries collection into RUM session lifecycle timeseries RUM-13949 Wire timeseries collection into RUM session lifecycle May 12, 2026
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented May 12, 2026

Codecov Report

❌ Patch coverage is 49.45055% with 46 lines in your changes missing coverage. Please review.
✅ Project coverage is 72.28%. Comparing base (b30c63a) to head (d4fea36).

Files with missing lines Patch % Lines
...lin/com/datadog/android/rum/internal/RumFeature.kt 27.59% 42 Missing ⚠️
.../android/rum/internal/monitor/DatadogRumMonitor.kt 50.00% 3 Missing and 1 partial ⚠️
Additional details and impacted files
@@                                       Coverage Diff                                       @@
##           tvaleev/feature/RUM-13949/timeseries-memory-session-factory    #3435      +/-   ##
===============================================================================================
- Coverage                                                        72.33%   72.28%   -0.05%     
===============================================================================================
  Files                                                              976      976              
  Lines                                                            35809    35869      +60     
  Branches                                                          5969     5973       +4     
===============================================================================================
+ Hits                                                             25901    25927      +26     
- Misses                                                            8279     8317      +38     
+ Partials                                                          1629     1625       -4     
Files with missing lines Coverage Δ
...rum/src/main/kotlin/com/datadog/android/rum/Rum.kt 86.25% <100.00%> (+0.17%) ⬆️
...kotlin/com/datadog/android/rum/RumConfiguration.kt 92.71% <100.00%> (+0.40%) ⬆️
...d/rum/internal/domain/scope/RumApplicationScope.kt 91.47% <100.00%> (-3.77%) ⬇️
...droid/rum/internal/domain/scope/RumSessionScope.kt 91.81% <100.00%> (ø)
...nal/timeseries/RumSessionScopeTimeseriesFactory.kt 100.00% <100.00%> (ø)
...ternal/timeseries/serializer/CpuEventSerializer.kt 96.00% <100.00%> (+0.08%) ⬆️
...nal/timeseries/serializer/MemoryEventSerializer.kt 96.36% <100.00%> (+0.07%) ⬆️
.../android/rum/timeseries/TimeseriesConfiguration.kt 91.67% <100.00%> (+0.76%) ⬆️
.../android/rum/internal/monitor/DatadogRumMonitor.kt 85.92% <50.00%> (-0.39%) ⬇️
...lin/com/datadog/android/rum/internal/RumFeature.kt 83.88% <27.59%> (-8.67%) ⬇️

... and 38 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-memory-session-factory branch from 1632f2f to cdcacee Compare May 13, 2026 13:43
@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-rum-session-wiring branch from f630b6d to 3b05b0c Compare May 13, 2026 13:43
@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-memory-session-factory branch from cdcacee to 9c62b82 Compare May 13, 2026 14:44
@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-rum-session-wiring branch from 3b05b0c to 9d01d39 Compare May 13, 2026 14:44
@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-memory-session-factory branch from 9c62b82 to 509d75e Compare May 14, 2026 19:40
@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-rum-session-wiring branch from 9d01d39 to 8ea9614 Compare May 14, 2026 19:40
@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-memory-session-factory branch from 509d75e to db0263b Compare May 20, 2026 15:27
@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-rum-session-wiring branch from 8ea9614 to 9a49aaa Compare May 20, 2026 15:27
@datadog-prod-us1-5
Copy link
Copy Markdown

datadog-prod-us1-5 Bot commented May 20, 2026

Pipelines

Fix all issues with BitsAI

⚠️ Warnings

🚦 3 Pipeline jobs failed

CodeQL | Analyze (java)   View in Datadog   GitHub Actions

DataDog/dd-sdk-android | analysis:android-lint   View in Datadog   GitLab

DataDog/dd-sdk-android | analysis:detekt-custom   View in Datadog   GitLab

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 8e019ac | Docs | Datadog PR Page | Give us feedback!

@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-memory-session-factory branch from db0263b to ec3a571 Compare May 21, 2026 19:25
@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-rum-session-wiring branch 2 times, most recently from 0db4915 to 91bf158 Compare May 21, 2026 20:16
@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-memory-session-factory branch from ec3a571 to 62b2166 Compare May 21, 2026 20:16
@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-rum-session-wiring branch from 91bf158 to 7298723 Compare May 22, 2026 13:01
@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-memory-session-factory branch 2 times, most recently from 4ee1870 to 4c08c9b Compare May 22, 2026 14:52
@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-rum-session-wiring branch from 7298723 to cd319d9 Compare May 22, 2026 14:52
@satween satween changed the title timeseries RUM-13949 Wire timeseries collection into RUM session lifecycle timeseries [5/6] RUM-13949 Wire timeseries collection into RUM session lifecycle May 25, 2026
@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-memory-session-factory branch from 4c08c9b to acebd04 Compare May 27, 2026 09:59
@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-rum-session-wiring branch from cd319d9 to ac48ae9 Compare May 27, 2026 09:59
@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-memory-session-factory branch from cf947b6 to 527f8b5 Compare May 27, 2026 21:14
@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-rum-session-wiring branch from eb04d67 to 3bc2f67 Compare May 27, 2026 21:14
@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-memory-session-factory branch from 527f8b5 to d8bd478 Compare May 28, 2026 08:53
@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-rum-session-wiring branch from 3bc2f67 to 8c1fee9 Compare May 28, 2026 08:53
@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-memory-session-factory branch from d8bd478 to 3615ce2 Compare May 28, 2026 08:59
@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-rum-session-wiring branch from 8c1fee9 to 27ffe71 Compare May 28, 2026 08:59
@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-memory-session-factory branch from 3615ce2 to b30c63a Compare May 28, 2026 09:12
@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-rum-session-wiring branch 4 times, most recently from d4fea36 to e46fbe0 Compare May 29, 2026 16:39
satween added 2 commits June 5, 2026 16:03
Adds `enableTimeseries()`/`disableTimeseries()` builder methods on `RumConfiguration.Builder`. Wires the `Timeseries.Factory` through `RumFeature` → `DatadogRumMonitor` → `RumApplicationScope` → `RumSessionScope`, so that a new `RumSessionScopeTimeseries` collector is created and started for each sampled session and stopped on session end or SDK teardown. Also enables timeseries in the Kotlin sample app.

Connects the standalone pipeline and public configuration API to the existing RUM session lifecycle, completing the end-to-end data flow from configuration through to event emission.

Existing scope and monitor test scaffolding is updated to pass `timeseriesFactory = null` / a mock factory where required. The `RumFeature.onStop()` ordering test verifies the writer is still live when the final flush fires.
…rgument order

Inline the factory contract as a nested Timeseries.Factory interface (with
@NoOpImplementation), delete the now-redundant top-level TimeseriesFactory, and
fix the sessionId/applicationId argument order throughout: RumSessionScope,
RumSessionScopeTimeseriesFactory, and the corresponding tests.

Ref: RUM-13949
@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-rum-session-wiring branch from e46fbe0 to 8e019ac Compare June 5, 2026 15:59
@satween satween force-pushed the tvaleev/feature/RUM-13949/timeseries-memory-session-factory branch from ab0ec7c to 3e7c2dc Compare June 5, 2026 15:59
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.

2 participants