From 14bc3ab9aeb2de1cbf27551649397e96b6f110ce Mon Sep 17 00:00:00 2001 From: "melissa.amos" Date: Wed, 2 Sep 2026 08:41:33 -0700 Subject: [PATCH] [DOCS-15308] Add iOS RUM view memoryAverage/memoryMax to Data Collected docs --- .../shortcodes/mdoc/en/sdk/data_collected/ios.mdoc.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/hugo/layouts/shortcodes/mdoc/en/sdk/data_collected/ios.mdoc.md b/hugo/layouts/shortcodes/mdoc/en/sdk/data_collected/ios.mdoc.md index 153cf883d35..2b4f5631954 100644 --- a/hugo/layouts/shortcodes/mdoc/en/sdk/data_collected/ios.mdoc.md +++ b/hugo/layouts/shortcodes/mdoc/en/sdk/data_collected/ios.mdoc.md @@ -153,12 +153,22 @@ RUM action, error, resource, and long task events contain information about the | `view.loading_time` | number (ns) | Time it took for the view to load, set by addViewLoadingTime(override:) call. | | `view.long_task.count` | number | Count of all long tasks collected for this view. | | `view.interaction_to_next_view_time` | number (ns) | Time between the last user interaction in the previous view and start of this (current) view. | +| `view.memory_average` | number (bytes) | Exact arithmetic mean of successful whole-process memory samples collected while this view is on screen. | +| `view.memory_max` | number (bytes) | Largest successful whole-process memory sample collected while this view is on screen. | | `view.name` | string | Customizable name of the view corresponding to the event. | | `view.network_settled_time` | number (ns) | Time it took for a view to be fully initiated at the start of the view. | | `view.resource.count` | number | Count of all resources collected for this view. | | `view.time_spent` | number (ns) | Time spent on this view. | | `view.url` | string | URL of the `UIViewController` class corresponding to the event. | +#### View memory collection + +The iOS SDK reads the `phys_footprint` value from the process's `task_vm_info` structure. This value measures the app's physical memory footprint. + +Each view tracks the exact running mean and maximum of successful samples. Calculations reset when the view starts, so they reflect only the samples collected during that view, not a rolling average carried over from previous views. + +By default, the SDK samples memory every 500 ms (`.average`). Use [`vitalsUpdateFrequency`][11] to change the frequency (`.frequent` for every 100 ms or `.rare` for every 1 s) or disable vitals collection by setting it to `nil`. If the SDK cannot read `task_vm_info`, it skips that sample without reporting an error. + ### View accessibility attributes Accessibility attribute collection is disabled by default. To enable it, set `collectAccessibility` to `true` in your `RUMConfiguration`: @@ -274,3 +284,4 @@ Before data is uploaded to Datadog, it is stored in cleartext in the cache direc [8]: /data_security/real_user_monitoring/#geolocation [9]: /data_security/real_user_monitoring/#ip-address [10]: https://support.apple.com/guide/security/security-of-runtime-process-sec15bfe098e/web +[11]: /real_user_monitoring/application_monitoring/ios/advanced_configuration/#rum-configuration