Skip to content

RUM-17173 Add Performance Timeseries configuration to RUM - #1349

Open
barboraplasovska wants to merge 1 commit into
developfrom
bplasovska/RUM-17173/timeseries
Open

barboraplasovska wants to merge 1 commit into
developfrom
bplasovska/RUM-17173/timeseries

Conversation

@barboraplasovska

@barboraplasovska barboraplasovska commented Jul 24, 2026 •

Copy link
Copy Markdown

What and why?

Exposes the native Timeseries RUM feature (dense memory/CPU sampling events) through the public RUM configuration API.

Important

Depends on #1427 (native SDK bump to 3.17.0 iOS / 3.14.0 Android). That PR must merge and this branch must be rebased onto develop before this PR can build/pass CI.

Review checklist

  • This pull request has appropriate unit and / or integration tests
  • This pull request references a Github or JIRA issue

@datadog-prod-us1-3

datadog-prod-us1-3 Bot commented Jul 24, 2026 •

Copy link
Copy Markdown

Pipelines  Tests

✨ Unblock PR with BitsAI

❌ Errors

Your PR has failed checks. Please review the issues below and take necessary action before merging.

🚦 4 Pipeline jobs failed

DataDog/dd-sdk-reactnative | test:native-android — 🔧 Needs a code fix, caused by this PR

View more details · View in GitLab

DataDog/dd-sdk-reactnative | test:native-ios — 🔧 Needs a code fix, caused by this PR

View more details · View in GitLab

DataDog/dd-sdk-reactnative | test:native-ios-newarch — 🔧 Needs a code fix, caused by this PR

View more details · View in GitLab

View all 4 failed jobs.

ℹ️ Info

No other issues found (see more)

🧪 All tests passed
❄️ No new flaky tests detected

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 584da00 | Docs | View more details | Give us feedback!

@barboraplasovska
barboraplasovska force-pushed the bplasovska/RUM-17173/timeseries branch from 2192dc6 to a7658c8 Compare July 24, 2026 12:12
@barboraplasovska
barboraplasovska force-pushed the bplasovska/RUM-17173/timeseries branch from 6f51851 to 05ebd47 Compare August 26, 2026 09:35
@barboraplasovska
barboraplasovska force-pushed the bplasovska/RUM-17173/timeseries branch from 05ebd47 to 92e0871 Compare September 16, 2026 14:50
Comment on lines +26 to +27
s.dependency 'DatadogWebViewTracking', '3.17.0'
s.dependency 'DatadogInternal', '3.17.0'

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I would be nice to separate the iOS SDK version bump from these changes, you can use this PR as an example: https://github.com/DataDog/dd-sdk-reactnative/pull/1381/changes.

The reason for the failures in CI seem related to it: https://gitlab.ddbuild.io/DataDog/dd-react-native-nightly-tests/-/jobs/2057151760

@barboraplasovska
barboraplasovska force-pushed the bplasovska/RUM-17173/timeseries branch 2 times, most recently from 840031d to 2b54b30 Compare September 22, 2026 09:27
@barboraplasovska
barboraplasovska force-pushed the bplasovska/RUM-17173/timeseries branch from 2b54b30 to 584da00 Compare September 22, 2026 13:49
@barboraplasovska
barboraplasovska marked this pull request as ready for review September 24, 2026 07:52
Copilot AI lite review requested due to automatic review settings September 24, 2026 07:52
@barboraplasovska
barboraplasovska requested a review from a team as a code owner September 24, 2026 07:52

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Native SDK dependencies must be updated, and public typing/exports and memory coverage remain unresolved.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 2 High severity · 1 Medium severity · 2 Low severity

Open (5)
What changed in this PR

Adds experimental RUM CPU/memory timeseries configuration across TypeScript, JSON, iOS, and Android.

Changes:

  • Adds public configuration types, defaults, schema, and file-based support.
  • Maps settings to native iOS and Android SDK initialization.
  • Updates fixtures and configuration tests.
File Description
packages/​core/​src/​sdk/​DatadogProvider/​__tests__/​initialization.test.tsx Updates initialization expectations.
packages/​core/​src/​config/​types/​TimeseriesConfiguration.ts Defines timeseries types.
packages/​core/​src/​config/​types/​index.ts Re-exports timeseries types.
packages/​core/​src/​config/​FileBasedConfiguration.type.ts Adds file configuration typing.
packages/​core/​src/​config/​FileBasedConfiguration.ts Serializes timeseries settings.
packages/​core/​src/​config/​features/​RumConfigurationNative.ts Extends native RUM configuration.
packages/​core/​src/​config/​features/​RumConfiguration.type.ts Adds the public RUM option.
packages/​core/​src/​config/​features/​RumConfiguration.ts Adds defaults and storage.
packages/​core/​src/​config/​__tests__/​FileBasedConfiguration.test.ts Tests file configuration.
packages/​core/​src/​config/​__tests__/​__fixtures__/​configuration-all-fields.json Extends configuration fixtures.
packages/​core/​src/​__tests__/​DdSdkReactNativeConfiguration.test.ts Updates configuration expectations.
packages/​core/​ios/​Tests/​Fixtures/​complete-configuration.json Extends iOS fixtures.
packages/​core/​ios/​Tests/​DdSdkTests.swift Tests iOS configuration building.
packages/​core/​ios/​Tests/​DdSdkNativeInitializationTests.swift Tests iOS parsing.
packages/​core/​ios/​Sources/​RNDdSdkConfiguration.swift Parses iOS timeseries settings.
packages/​core/​ios/​Sources/​DdSdkNativeInitialization.swift Builds iOS timeseries configuration.
packages/​core/​ios/​Sources/​DdSdkConfiguration.swift Extends iOS configuration models.
packages/​core/​datadog-configuration.schema.json Documents schema fields.
packages/​core/​android/​src/​test/​resources/​input/​complete-configuration.json Extends Android fixtures.
packages/​core/​android/​src/​test/​kotlin/​com/​datadog/​tools/​unit/​DdSdkConfigurationExt.kt Updates Android test conversion helpers.
packages/​core/​android/​src/​test/​kotlin/​com/​datadog/​reactnative/​DdSdkTest.kt Tests Android initialization.
packages/​core/​android/​src/​test/​kotlin/​com/​datadog/​reactnative/​DdSdkNativeInitializationTest.kt Tests Android parsing.
packages/​core/​android/​src/​main/​kotlin/​com/​datadog/​reactnative/​DdSdkNativeInitialization.kt Builds Android timeseries configuration.
packages/​core/​android/​src/​main/​kotlin/​com/​datadog/​reactnative/​DdSdkConfigurationExt.kt Parses and serializes settings.
packages/​core/​android/​src/​main/​kotlin/​com/​datadog/​reactnative/​DdSdkConfiguration.kt Extends Android configuration models.
example/​ios/​Podfile.lock Updates native dependency lock metadata.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +31 to +32
import com.datadog.android.rum.timeseries.TimeseriesConfiguration as NativeTimeseriesConfiguration
import com.datadog.android.rum.timeseries.TimeseriesType as NativeTimeseriesType
import DatadogInternal
import DatadogLogs
import DatadogRUM
@_spi(Experimental) import DatadogRUM
Comment on lines +11 to +14
export type {
TimeseriesConfiguration,
TimeseriesType
} from './TimeseriesConfiguration';
Comment on lines +282 to +285
private fun String.asTimeseriesType(): NativeTimeseriesType? {
return when (lowercase(Locale.US)) {
"cpu" -> NativeTimeseriesType.CPU
"memory" -> NativeTimeseriesType.MEMORY
Comment on lines +243 to +248
let collectTypes: [TimeseriesType]? = rumConfig.timeseriesCollectTypes?.compactMap {
switch $0.lowercased() {
case "cpu":
return .cpu
case "memory":
return .memory

This branch has not been deployed

No deployments
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