Skip to content

RUM: document Timeseries preview for the iOS and Android SDKs - #40134

Draft
qsellem wants to merge 1 commit into
masterfrom
quentin.sellem/rum-timeseries-preview
Draft

qsellem wants to merge 1 commit into
masterfrom
quentin.sellem/rum-timeseries-preview

Conversation

@qsellem

@qsellem qsellem commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

What does this PR do? What is the motivation?

RUM Timeseries is going into public preview. The iOS and Android SDKs sample memory and CPU once per second across a session and graph the result in the Session, View, and Operation side panels. Today Mobile Vitals only reports CPU and memory as a per-view average, which hides spikes and gives no sense of when usage changed — this documents the new continuous view of the same two resources.

Changes:

  • New ## Timeseries section on Mobile Vitals: series collected, how to enable per SDK, where the graphs appear.
  • timeseries / setTimeseriesConfiguration entries in the iOS and Android advanced configuration partials.
  • A Performance Timeseries section on the RUM Explorer side panel page and the Operations page.

Merge readiness

  • Ready for merge

Three things to resolve before this can merge:

  1. Preview form URL is a placeholder. I used https://www.datadoghq.com/product-preview/rum-timeseries/, which follows the existing slug convention but has not been confirmed to exist. Needs the real preview form URL.
  2. iOS API is still behind @_spi(Experimental). The documented Swift snippet omits the @_spi(Experimental) import DatadogRUM line, because the gate was added to keep the feature invisible during testing and is expected to come off for the preview. Until the SDK team removes the annotation, the snippet as written will not compile for customers. This is a release-ordering dependency, not a docs bug.
  3. Version floors need a decision. I documented iOS 3.17.0+ and Android 3.14.0+, which is where the current API shape exists (Android 3.14.0 was "Align the timeseries API with iOS"). The web UI gates the panel on iOS 3.16.0 / Android 3.13.1, so the graph renders for slightly older SDKs — but the config snippets in this PR would not compile on them. Happy to switch to the UI's floors if preferred.

AI assistance

Used Claude Code throughout: it synced the SDK and docs repos, read the timeseries implementation in dd-sdk-ios and dd-sdk-android and the panel components in web-ui to establish the API surface, units, sampling interval and UI labels, then drafted these changes. I directed the scope and reviewed the output.

Additional notes

Facts verified in source rather than inferred:

  • Sampling interval (1000ms) and buffer size (120 samples) are internal constants on both SDKs — no public knob, so the docs do not promise one.
  • Memory is emitted as both memory_footprint (kilobytes) and memory_percent; CPU as cpu_usage, normalized across all cores.
  • Timeseries events carry view: null. The panel scopes the session-wide series visually using start/end markers rather than filtering by view ID, which is why the copy says the graph "always covers the full session".
  • Collection is foreground-only and follows the session sample rate.
  • watchOS cannot collect CPU; noted in the iOS tab.

Not covered here: localized copies under content/{fr,es,ja,ko}/ will drift, and no screenshot is included yet — happy to add one once the preview UI is stable.

Adds a Timeseries section to Mobile Vitals covering the series collected,
how to enable collection on each SDK, and where the graphs appear. Adds the
corresponding configuration options to the iOS and Android advanced config
partials, and describes the Performance Timeseries panel on the RUM Explorer
and Operations pages.
@github-actions github-actions Bot added Architecture Everything related to the Doc backend cdocs labels Sep 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Architecture Everything related to the Doc backend cdocs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant