Skip to content

iOS/tvOS Application Data Collection


After application data is collected to TrueWatch, you can customize scenarios and configure anomaly detection events through the TrueWatch console.

Data Types

The User Access Monitoring of TrueWatch includes six data types:

The RUM data types directly reported by the iOS SDK are view, resource, error, long_task, and action. session is session-dimension data, aggregated based on the RUM data reported by the SDK.

Type Description
session User session information records. Within the current session, user page, resource, operation, error, and long task related access data will be aggregated based on the session dimension.
view A view record is generated each time a user accesses a page of the mobile application. When a user stays on the same page, resource, long task, error, and action records are linked to the relevant RUM view via the view_id attribute.
resource Records of resource information loaded when a user accesses a page.
error Exceptions or crashes emitted by the mobile application.
long_task A long task event is generated for any task in the application that blocks the main thread for longer than a specified duration threshold.
action Records user activities within the mobile application (application startup, clicks, swipes, back, etc.). Each action is attached with a unique action_id.

Global Attributes

Scenarios for User Access Monitoring and event alerts can be queried using the following global attributes.

SDK Attributes

Field Type Description
sdk_name string Collector name, fixed names:
df_macos_rum_sdk
df_ios_rum_sdk
df_tvos_rum_sdk
df_android_rum_sdk
sdk_version string Collector version information
sdk_pkg_info object SDK package information

Application Attributes

Field Type Description
app_id string Required. Unique ID identifier for the user access application, automatically generated when creating a monitor in the TrueWatch console.
application_uuid string Application UUID, iOS SDK obtains it from the main Mach-O UUID
env string Required. Environment field. Attribute values: prod/gray/pre/common/local. Among them:
prod: Production environment
gray: Gray environment
pre: Pre-release environment
common: Daily environment
local: Local environment
version string Required. Version number.
service string Optional. Name of the business or service it belongs to. Fixed names:
df_rum_ios
df_rum_tvos
df_rum_android
df_rum_windows
df_rum_linux

User & Session Attributes

Field Type Description
userid string Unlogged users use a random uuid as userid, logged-in users use the user id generated by the application backend.
user_name string Optional. User name.
user_email string Optional. User email.
session_id string Session id. A new session_id is generated after no operation for more than 15 minutes.
session_type string Session type. Reference values: user & synthetics
user: Data generated by RUM functionality;
synthetics: Data generated by headless testing.
is_signin boolean Whether it is a registered user. Attribute values: T & F.
session_has_replay boolean Whether the current session is associated with Session Replay data. After enabling Session Replay related capabilities, this field can be written for View, Resource, Error, Long Task, and Action.
custom_keys string RUM custom attribute key list

Device & Resolution Attributes

Field Type Description
device string Mobile device manufacturer
model string Mobile device model
device_uuid string Mobile device unique ID, generated using UIDevice.identifierForVendor
os string Operating system information
os_version string Operating system version
os_version_major string Operating system major version
screen_size string Screen resolution
arch string CPU architecture, e.g., arm64, arm64e, x86_64

Geographic & Network Attributes

Field Type Description
ip string User access IP address
isp string Internet Service Provider
network_type string Network connection type. Attribute value reference:
wifi & 2g & 3g & 4g & 5g & unknown (unknown network) & unreachable (network unavailable)
country string Country
country_iso_code string Country iso_code
province string Province
city string City

Custom Attributes

In addition to global attributes, scenarios can be built and event alerts configured through custom attributes (SDK supports users adding custom tag data). Custom attributes are non-global attributes. Through custom attributes, you can track the entire process of user access to the application, locate and discover affected user access situations, and monitor user access performance.

Other Data Type Attributes

Session

Session is session-dimension data, typically generated or aggregated by the server based on RUM data reported by the SDK, not a measurement directly reported separately by the iOS SDK.

Attributes

Field Type Description
session_id string Session id
session_type string Session type. Reference values: user & synthetics
user: Data generated by RUM functionality;
synthetics: Data generated by headless testing.
session_referrer string Session referrer. Usually records the source page address.
session_first_view_id string The view_id of the first page in the current session
session_first_view_name string The URL of the first page in the current session
session_last_view_id string The view_id of the last accessed page in the current session
session_last_view_name string The URL of the last page in the current session

Statistical Metrics

Field Type Description
time_spent number(ns) Duration of the current session
session_view_count number Number of view_ids associated with the current session
session_error_count number Number of errors generated in the current session
session_resource_count number Number of resources loaded in the current session
session_action_count number Number of user operations in the current session
session_long_task_count number Number of long tasks generated in the current session

View

Attributes

Field Type Description
view_id string Unique ID generated each time a page is accessed
view_referrer string Page referrer, the parent of the page
view_name string Page name
session_has_replay boolean Whether the session to which the current View belongs is associated with Session Replay data

Metrics

Field Type Description
loading_time number(ns) Page loading time
time_spent number(ns) Page dwell time
is_active boolean Determines whether the user is still active. Reference values: true & false
session_sample_rate number RUM Session sampling rate
session_on_error_sample_rate number Sampling rate for supplementary sampling after an error occurs when RUM Session sampling is not hit
session_replay_sample_rate number Session Replay sampling rate, appears after enabling Session Replay related capabilities
session_replay_on_error_sample_rate number Sampling rate for supplementary sampling of Session Replay after an error occurs, appears after enabling Session Replay related capabilities
sampled_for_error_session boolean Whether the current Session was sampled due to the error sampling strategy
sampled_for_error_replay boolean Whether the current Session Replay was sampled due to the error sampling strategy
session_error_timestamp number(ns) The time when the error occurred when error sampling was hit
session_replay_stats object Session Replay statistical information associated with the current View

Statistical Metrics

Field Type Description
view_error_count number Number of errors that occurred during each page load
view_resource_count number Number of resources requested during each page load
view_long_task_count number Number of long tasks generated during each page load
view_action_count number Number of operations performed during page viewing
view_update_time number Number of View updates
view_long_task_rate number Proportion of time spent on long tasks during the View period

Monitoring Metrics

Field Type Description
cpu_tick_count number Optional. Number of CPU ticks for this page
cpu_tick_count_per_second number Optional. Average number of CPU ticks per second
fps_avg number Optional. Average frames per second for the page
fps_mini number Optional. Minimum frames per second for the page
memory_avg number Optional. Average memory usage for the page
memory_max number Optional. Peak memory usage for the page

Resource

View Attributes

Field Type Description
view_id string Unique ID generated each time a page is accessed
view_referrer string Page referrer, the parent of the page
view_name string Page name

Action Attributes

Field Type Description
action_id string Unique ID generated when a user performs a page operation
action_name string Operation name
action_type string Operation type (cold/hot start, click, etc.)

Resource Attributes

Field Type Description
resource_url string Resource URL
resource_url_host string Domain part of the resource URL
resource_url_path string Path part of the resource URL
resource_url_query string Query part of the resource URL
resource_url_path_group string Resource URL path grouping
resource_type string Resource category
resource_method string Resource request method
resource_status string Status value returned by the resource request
resource_status_group string Grouped status value returned by the resource request
resource_host_ip string Target IP address accessed by the resource URL
resource_id string Unique ID for the resource request
response_connection string Value of the response header Connection
response_content_type string Value of the response header Content-Type
response_content_encoding string Value of the response header Content-Encoding
span_id string Associated span id for the trace
trace_id string Associated trace id for the trace
session_has_replay boolean Whether the session to which the current Resource belongs is associated with Session Replay data

Metrics

Field Type Description
resource_size number Resource size, default unit: byte
resource_request_size number Resource request size, default unit: byte
resource_dns number(ns) DNS resolution time for resource loading
Calculation: domainLookupEnd - domainLookupStart
resource_tcp number(ns) TCP connection time for resource loading
Calculation: connectEnd - connectStart
resource_ssl number(ns) SSL connection time for resource loading
Calculation: connectEnd - secureConnectStart
resource_ttfb number(ns) Request-response time for resource loading
Calculation: responseStart - requestStart
resource_trans number(ns) Content transmission time for resource loading
Calculation: responseEnd - responseStart
resource_first_byte number(ns) First byte time for resource loading
Calculation: responseStart - domainLookupStart
duration number(ns) Resource loading time
Calculation: duration(responseEnd-startTime)
resource_dns_time object DNS phase duration, structure: {start, duration}
resource_connect_time object TCP connection phase duration, structure: {start, duration}
resource_first_byte_time object First byte phase duration, structure: {start, duration}
resource_ssl_time object SSL phase duration, structure: {start, duration}
resource_download_time object Download phase duration, structure: {start, duration}
resource_redirect_time object Redirect phase duration, structure: {start, duration}
resource_http_protocol string Network protocol used for the resource request
resource_connection_reuse boolean Whether the resource request reused a connection
request_header string Resource request header
response_header string Resource response header

Network Snapshot

Field Type Description
network_available boolean Whether the network was available at the start of the Resource

Error

View Attributes

Field Type Description
view_id string Unique ID generated each time a page is accessed
view_referrer string Page referrer, the parent of the page
view_name string Page name

Action Attributes

Field Type Description
action_id string Unique ID generated when a user performs a page operation
action_name string Operation name

Error Attributes

Field Type Description
error_source string Error source. Reference values: logger & network
error_type string Error type
logger error type: anr_error | ios_crash
network error type: network_error
error_situation string Timing of the error occurrence. Reference values: startup and run
session_has_replay boolean Whether the session to which the current Error belongs is associated with Session Replay data

When type=network, the following Network Error attributes are added.

Field Type Description
resource_id string Unique ID for the resource request
resource_status string Status value returned by the resource request
resource_url string Resource URL
resource_url_host string Domain part of the resource URL
resource_url_path string Path part of the resource URL
resource_url_path_group string Resource URL path grouping
resource_status_group string Grouped status value returned by the resource request
resource_method string Resource request method

Error Monitoring Attributes

Field Type Description
memory_total string Optional. Total memory
memory_use number Optional. Memory usage rate
cpu_use number Optional. CPU usage rate
battery_use number Optional. Current phone battery level (tvOS not supported)
carrier string Optional. Carrier information (iOS supported)
locale string Current system language

Metrics

Field Type Description
error_message string Error message
error_stack string Error stack trace
foreground_crash_free_duration number(ns) Crash-free duration the application was in the foreground before the Crash occurred
background_crash_free_duration number(ns) Crash-free duration the application was in the background before the Crash occurred
crash_extra object Crash extra information, such as register information

Long Task

View Attributes

Field Type Description
view_id string Unique ID generated each time a page is accessed
view_referrer string Page referrer, the parent of the page
view_name string Page name

Action Attributes

Field Type Description
action_id string Unique ID generated when a user performs a page operation
action_name string Operation name

Metrics

Field Type Description
duration number(ns) Freeze duration
long_task_stack string Freeze stack trace
session_has_replay boolean Whether the session to which the current Long Task belongs is associated with Session Replay data

Action

View Attributes

Field Type Description
view_id string Unique ID generated each time a page is accessed
view_referrer string Page referrer, the parent of the page
view_name string Page name

Action Attributes

Field Type Description
action_id string Unique ID generated when a user performs a page operation
action_name string Operation name. Default startup Actions include app_hot_start, app_cold_start, app_warm_start
action_type string Operation type. Reference values include: click, launch_hot, launch_cold, launch_warm
session_has_replay boolean Whether the session to which the current Action belongs is associated with Session Replay data

Metrics

Field Type Description
duration number(ns) Time spent on the page operation
app_pre_runtime_init_time object Startup phase metric, time before runtime initialization, structure: {start, duration}
app_runtime_init_time object Startup phase metric, runtime initialization time, structure: {start, duration}
app_uikit_init_time object Startup phase metric, UIKit initialization time, structure: {start, duration}
app_application_init_time object Startup phase metric, Application initialization time, structure: {start, duration}
app_first_frame_init_time object Startup phase metric, first frame rendering time, structure: {start, duration}
app_launch_type string Cold start type, reported only when action_type=launch_cold. Reference values: foreground, background

Statistical Metrics

Field Type Description
action_long_task_count number Number of long tasks associated with the operation
action_resource_count number Number of resource requests associated with the operation
action_error_count number Number of errors associated with the operation

WebView Association

When WebView JSBridge data is integrated into RUM, the SDK will supplement is_web_view=true on the corresponding data to identify that the data comes from WebView. WebView data fields are primarily based on the fields reported by the Web SDK. This association note is only retained in the native iOS field table.