Skip to content

RUM-17613 Rename Timeseries abstractions to TimeseriesCollector - #3711

Closed
satween wants to merge 1 commit into
feature/timeseriesfrom
tvaleev/feature/RUM-17613-1-collector-rename
Closed

RUM-17613 Rename Timeseries abstractions to TimeseriesCollector#3711
satween wants to merge 1 commit into
feature/timeseriesfrom
tvaleev/feature/RUM-17613-1-collector-rename

Conversation

@satween

@satween satween commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Renames the internal Timeseries interface to TimeseriesCollector, RumSessionScopeTimeseries to
DefaultTimeseriesCollector and RumSessionScopeTimeseriesFactory to
DefaultTimeseriesCollectorFactory, propagating the names through RumFeature, Rum,
RumApplicationScope, RumSessionScope, DatadogRumMonitor (stopActiveTimeseries() ->
stopTimeseries()) and the matching tests. No behaviour change, no public API change.

Motivation

First PR of a 3-PR stack. Isolating the rename keeps the follow-up schema PR's diff about the
schema instead of about naming.

Additional Notes

NoOpTimeseriesCollector / NoOpTimeseriesCollectorFactory are KSP-generated from the renamed interface.

The detekt safe-call entries for AtomicReference<RumSessionScopeTimeseries.State> are renamed
here and removed in the next PR, where the AtomicReference goes away.

api/apiSurface and api/dd-sdk-android-rum.api are unchanged (all renamed symbols are
internal), verified by re-running generateApiSurface + apiDump.

DatadogRumMonitorTest gains one test covering the renamed stopTimeseries().

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)

Ref: RUM-17613

satween commented Aug 14, 2026

Copy link
Copy Markdown
Contributor Author

@datadog-datadog-prod-us1

datadog-datadog-prod-us1 Bot commented Aug 14, 2026

Copy link
Copy Markdown

Tests

🎉 All green!

🧪 All tests passed
❄️ No new flaky tests detected

🔄 Datadog auto-retried 2 jobs - 2 passed on retry View in Datadog

🎯 Code Coverage (details)
Patch Coverage: 100.00%
Overall Coverage: 72.82% (+0.00%)

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

Rename the internal Timeseries interface to TimeseriesCollector and rename its
implementations to DefaultTimeseriesCollector and
DefaultTimeseriesCollectorFactory, propagating the new names through
RumFeature, the RUM scope tree and the tests. No behaviour change.

Ref: RUM-17613
@satween
satween force-pushed the tvaleev/feature/RUM-17613-1-collector-rename branch from 212abc3 to a90a51b Compare August 14, 2026 13:00
@satween satween changed the title RUM-17613 Rename Timeseries abstractions to Collector RUM-17613 Rename Timeseries abstractions to TimeseriesCollector Aug 14, 2026
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 73.23%. Comparing base (e4fa588) to head (a90a51b).

Additional details and impacted files
@@                  Coverage Diff                   @@
##           feature/timeseries    #3711      +/-   ##
======================================================
+ Coverage               73.21%   73.23%   +0.02%     
======================================================
  Files                    1011     1011              
  Lines                   36859    36859              
  Branches                 6368     6368              
======================================================
+ Hits                    26985    26991       +6     
+ Misses                   8045     8039       -6     
  Partials                 1829     1829              
Files with missing lines Coverage Δ
...rum/src/main/kotlin/com/datadog/android/rum/Rum.kt 86.75% <100.00%> (ø)
...lin/com/datadog/android/rum/internal/RumFeature.kt 91.72% <100.00%> (-0.79%) ⬇️
...d/rum/internal/domain/scope/RumApplicationScope.kt 95.45% <100.00%> (+0.76%) ⬆️
...droid/rum/internal/domain/scope/RumSessionScope.kt 93.22% <100.00%> (ø)
.../android/rum/internal/monitor/DatadogRumMonitor.kt 87.25% <100.00%> (ø)
.../internal/timeseries/DefaultTimeseriesCollector.kt 77.55% <100.00%> (ø)
...al/timeseries/DefaultTimeseriesCollectorFactory.kt 100.00% <100.00%> (ø)

... and 35 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 marked this pull request as ready for review August 14, 2026 14:14
@satween
satween requested review from a team as code owners August 14, 2026 14:14

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a90a51b806

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

- "java.util.concurrent.atomic.AtomicReference.compareAndSet(com.datadog.android.flags.internal.repository.DefaultFlagsRepository.FlagsState?, com.datadog.android.flags.internal.repository.DefaultFlagsRepository.FlagsState?)"
- "java.util.concurrent.atomic.AtomicReference.compareAndSet(com.datadog.trace.bootstrap.instrumentation.api.AgentTracer.TracerAPI?, com.datadog.trace.bootstrap.instrumentation.api.AgentTracer.TracerAPI?)"
- "java.util.concurrent.atomic.AtomicReference.compareAndSet(com.datadog.android.rum.internal.timeseries.RumSessionScopeTimeseries.State?, com.datadog.android.rum.internal.timeseries.RumSessionScopeTimeseries.State?)"
- "java.util.concurrent.atomic.AtomicReference.compareAndSet(com.datadog.android.rum.internal.timeseries.DefaultTimeseriesCollector.State?, com.datadog.android.rum.internal.timeseries.DefaultTimeseriesCollector.State?)"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Sign the reviewed commit

The reviewed commit is unsigned: git show -s --format=%G? 5aef636d2e5e7240ab14ad154f527f54489974af returns N. Recreate this commit with a valid GPG signature before merging to satisfy the repository policy.

AGENTS.md reference: AGENTS.md:L115-L118

Useful? React with 👍 / 👎.

insightsCollector = rumFeature.insightsCollector,
heatmapIdentifierRegistry = rumFeature.heatmapIdentifierRegistry,
timeseriesFactory = rumFeature.timeseriesFactory
timeseriesCollectorFactory = rumFeature.timeseriesCollectorFactory

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Add the required colon to the commit title

This commit is titled RUM-17613 Rename Timeseries abstractions to TimeseriesCollector, but repository policy requires the exact RUM-XXXXX: <short description> format. Change it to RUM-17613: Rename Timeseries abstractions to TimeseriesCollector before merging.

AGENTS.md reference: AGENTS.md:L115-L120

Useful? React with 👍 / 👎.

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