Flashduty Docs
中文English
RoadmapAPI官网控制台
中文English
RoadmapAPI官网控制台
  1. iOS
  • Introduction
  • On-call
    • Getting Started
      • Quick start
      • FAQ
      • Product Comparison
    • Incidents
      • What is an Incident
      • View Incidents
      • Handle Incidents
      • Escalations and Assignments
      • Custom Fields
      • Custom Actions
      • Alert Noise Reduction
      • Past Incidents
      • Outlier Incidents
      • Status Pages
    • Configure On-call
      • Channels
      • Integrate Alerts
      • Alert Noise Reduction
      • Escalation Rules
      • Label Enrichment
      • Schedules
      • Templates
      • Service Calendars
      • Preferences
      • Alert Routing
      • Silence and Inhibition
      • Filters
      • Notifications
      • Alert Pipeline
    • Advanced Features
      • Referencing Variables
      • Dynamic Assignment
      • Insights
      • War-room
    • Integrations
      • Alerts integration
        • Standard Alert Integration
        • Email Integration
        • Nightingale/FlashCat Integration
        • Prometheus Integration
        • Grafana Integration
        • Zabbix Integration
        • Uptime Kuma Integration
        • Alibaba Cloud ARMS Integration
        • Alibaba Cloud Monitor CM Event Integration
        • Alibaba Cloud Monitor CM Metrics Integration
        • Alibaba Cloud SLS Integration
        • AWS CloudWatch Integration
        • Azure Monitor Integration
        • Baidu Cloud BCM Integration
        • Huawei Cloud CES Integration
        • Influxdata Integration
        • Open Falcon Integration
        • PagerDuty Integration
        • Tencent BlueKing Integration
        • Tencent Cloud CLS Integration
        • Tencent Cloud Monitor CM Integration
        • Tencent Cloud EventBridge
        • OceanBase Integration
        • Graylog Integration
        • Skywalking Integration
        • Sentry Integration
        • Jiankongbao Integration
        • AWS EventBridge Integration
        • Dynatrace Integration
        • Huawei Cloud LTS Integration
        • GCP Integration
        • Splunk Alert Events Integration
        • AppDynamics Alert Integration
        • SolarWinds Alert Events Integration
        • Volcengine CM Alert Events Integration
        • Volcengine CM Event Center Integration
        • Volcengine TLS Integration
        • OpManager Integration
        • Meraki Integration
        • Keep Integration
        • ElastAlert2 Alert Integration
        • StateCloud Alert Events
        • Guance Alert Events
        • Zilliz Alert Events
        • Huawei Cloud APM Alerts
        • zstack integration
        • Monit Alert Integration
        • RUM Alert Integration
      • Change integration
        • Standard Change Event
        • Jira Issue Events
      • IM integration
        • Feishu (Lark) Integration Guide
        • Dingtalk Integration
        • WeCom Integration
        • Slack Integration
        • Microsoft Teams Integration
      • Single Sign-On
        • Authing Integration
        • Keycloak Guide
        • OpenLDAP Guide
      • Webhooks
        • Alert webhook
        • Incident webhook
        • Costom action
        • ServiceNow Sync
        • Jira Sync
      • Other
        • Link Integration
  • RUM
    • Getting Started
      • Application Management
      • Introduction
      • Quick Start
    • SDK Integration
      • Android
        • Data Collection
        • SDK Integration
        • Advanced Configuration
        • Compatibility
      • iOS
        • Data Collection
        • Compatibility
        • SDK Integration
        • Advanced Configuration
      • Web
        • Data Collection
        • SDK Integration
        • FAQ
        • Advanced Configuration
        • Compatibility
    • Session Explorer
      • Overview
      • Data Query
    • Analysis Dashboard
      • Web
      • Native
    • Performance Monitoring
      • Metrics
      • Performance Optimize
      • Overview
      • Performance Analysis
    • Error Tracking
      • Issues
      • Error Grouping
      • Source Mapping
      • Overview
      • Issue Status
      • Issue Alerting
      • Error Reporting
        • iOS
        • Android
        • Web
    • Best Practice
      • Distributed Tracing
    • Session Replay
      • View Session Replay
      • SDK Configuration
      • Overview
      • Privacy Protection
    • Others
      • Data Collection
      • Terminology
      • Data Security
  • Monitors
    • Getting Started
      • Introduction
      • Quick Start
    • Alert Rules
      • Prometheus
      • ElasticSearch
      • Loki
      • ClickHouse
      • MySQL
      • Oracle
      • PostgreSQL
      • Aliyun SLS
      • VictoriaLogs
    • FAQ
      • FAQ
  • Platform
    • Teams and Members
    • Permissions
    • Single Sign-On
  • Terms
    • Terms of Service
    • User Agreement/Privary Policy
    • SLA
    • Data Security
中文English
RoadmapAPI官网控制台
中文English
RoadmapAPI官网控制台
  1. iOS

Data Collection

Overview#

Flashcat iOS RUM SDK generates events with associated metrics and attributes. Each RUM event includes default attributes, such as the UIViewController class URL corresponding to the event (view.url) and user information like device type (device.type) and country (geo.country).
Additionally, different event types have specific additional metrics and attributes. For example, the view.time_spent metric is associated with view events, while the resource.method attribute is associated with resource events.

Application Startup#

During app startup, the iOS SDK records app startup time and creates a corresponding view. Startup time is measured as the interval from process launch to the first applicationDidBecomeActive notification.
AttributeTypeDescription
view.is_start_viewBooleanIndicates whether this view is the initial view created at app startup.
action.typeStringType of app startup action, value is application_start.
action.loading_timeNumber (nanoseconds)Time required for app startup.

View Monitoring and App Lifecycle#

In iOS apps, views are automatically created when users visit different screens. A view starts recording when the user opens a screen and stops when the view is no longer visible (e.g., user opens another screen).
When a view stops, the SDK doesn't immediately end its lifecycle but keeps it in inactive state for a period to attach subsequent events. If a new view starts during this period, the previous view will fully end. If no new view starts, the previous view will resume to active state.
When the app enters background, the SDK retains the last active view and monitors any new background events. Background time is not counted in the active view's time_spent metric. However, if the user immediately returns to the app, the SDK resumes the original time_spent measurement.

Default Attributes#

Flashcat iOS RUM SDK automatically captures the following default attributes, which apply to all RUM event types.

Common Core Attributes#

AttributeTypeDescription
dateIntegerEvent timestamp (in milliseconds).
typeStringEvent type (such as session, view, resource, error, action).
serviceStringService name that generated this event.
application.idStringUnique identifier for the application.

Device#

The following device-related attributes are automatically attached to all events collected by Flashcat:
AttributeTypeDescription
device.typeStringDevice type (such as Mobile, Tablet, TV, Desktop, Other).
device.brandStringDevice brand, Apple for iOS devices.
device.modelStringDevice model (such as iPhone, iPad, iPod Touch, Apple TV).
device.nameStringName of the device.

Operating System#

The following OS-related attributes are automatically attached to all events collected by Flashcat:
AttributeTypeDescription
os.nameStringOperating system name (such as iOS, iPadOS, tvOS).
os.versionStringOS version number (such as 15.4.1, 16.0).
os.version_majorStringOS major version number (such as 15, 16).

Network Connectivity#

The following network-related attributes are automatically attached to resource and error events:
AttributeTypeDescription
connectivity.statusStringDevice network connection status (such as connected, not_connected).
connectivity.interfacesString arrayAvailable network interface types (such as wifi, cellular, ethernet).
connectivity.cellular.technologyStringCellular network technology type (such as 3G, 4G, LTE, 5G).
connectivity.cellular.carrier_nameStringCellular network carrier name.

Geolocation#

The following attributes relate to the geographic location of the IP address:
AttributeTypeDescription
geo.countryStringCountry name.
geo.country_iso_codeStringCountry ISO code (such as US, CN).
geo.country_subdivisionStringFirst-level administrative division of the country (such as US states, Chinese provinces).
geo.continent_codeStringContinent ISO code (such as EU, AS).
geo.continentStringContinent name.
geo.cityStringCity name.

Global User Attributes#

You can enable user tracking on all RUM events to correlate user sessions and simplify troubleshooting. User attributes are optional, but it's recommended to provide the following:
AttributeTypeDescription
usr.idStringUnique user identifier.
usr.nameStringUser-friendly name, displayed by default in RUM UI.
usr.emailStringUser email address. Email is displayed if no username is provided.
To set user information, see Tracking User Information.

Event-Specific Attributes#

Different event types have specific attributes and metrics.

Session Attributes#

AttributeTypeDescription
session.idStringUnique session identifier.
session.typeStringSession type (such as user, synthetic).
session.is_activeBooleanWhether the session is active.
session.initial_view.idStringID of the initial view in the session.
session.initial_view.urlStringURL of the initial view in the session.
session.initial_view.nameStringName of the initial view in the session.
session.last_view.idStringID of the last view in the session.
session.last_view.urlStringURL of the last view in the session.
session.last_view.nameStringName of the last view in the session.
session.has_crashBooleanWhether the session contains crash events.
session.has_replayBooleanWhether session replay is enabled for the session.

View Attributes#

AttributeTypeDescription
view.idStringUnique view identifier.
view.urlStringView URL, corresponding to UIViewController class name.
view.nameStringCustomizable view name.
view.referrerStringURL of the previous view.
view.action.countNumberNumber of user actions collected in this view.
view.error.countNumberNumber of errors collected in this view.
view.resource.countNumberNumber of resources collected in this view.
view.time_spentNumber (nanoseconds)Time user spent on this view.
view.network_settled_timeNumber (nanoseconds)Time required for full initialization when view starts.
view.is_activeBooleanWhether the view is active.
view.is_slow_renderedBooleanWhether view rendering is slow.
view.crash.countNumberNumber of crashes that occurred in this view.
view.frozen_frame.countNumberNumber of frozen frames in this view.
view.refresh_rate_averageNumberAverage refresh rate of the view.
view.refresh_rate_minNumberMinimum refresh rate of the view.
view.memory_averageNumberAverage memory usage of the view.
view.memory_maxNumberMaximum memory usage of the view.
view.cpu_ticks_countNumberCPU clock cycles of the view.
view.cpu_ticks_per_secondNumberCPU clock cycles per second of the view.

Resource Attributes#

AttributeTypeDescription
resource.idStringUnique resource identifier.
resource.urlStringResource URL.
resource.methodStringHTTP method (such as GET, POST, PATCH, DELETE).
resource.typeStringResource type (such as xhr, image, font, css, js).
resource.status_codeNumberHTTP response status code.
resource.sizeNumber (bytes)Resource size.
resource.durationNumber (nanoseconds)Total time required to load the resource.
resource.connect.durationNumber (nanoseconds)Time required to establish server connection (connectEnd - connectStart).
resource.ssl.durationNumber (nanoseconds)Time required for TLS handshake.
resource.dns.durationNumber (nanoseconds)Time required for DNS resolution (domainLookupEnd - domainLookupStart).
resource.first_byte.durationNumber (nanoseconds)Time waiting to receive first response byte (responseStart - requestStart).
resource.download.durationNumber (nanoseconds)Time downloading response (responseEnd - responseStart).
resource.redirect.durationNumber (nanoseconds)Time required for subsequent HTTP requests (redirectEnd - redirectStart).
resource.provider.nameStringResource provider name, defaults to unknown.
resource.provider.domainStringResource provider domain.
resource.provider.typeStringResource provider type (such as first-party, cdn, ad, analytics).

Error Attributes#

Frontend errors are collected through RUM. Error messages and stack traces (if available) are included.
AttributeTypeDescription
error.sourceStringError source (such as webview, logger, network).
error.typeStringError type (error code in some cases).
error.messageStringConcise, readable single-line error message.
error.stackStringError stack trace or supplemental information.
error.issue_idStringUnique identifier for the error issue.
error.categoryStringHigh-level grouping of error types. Possible values include: ANR, App Hang, Exception, Watchdog Termination, Memory Warning, Network.
error.fileStringFile where error tracking found the issue.
error.is_crashBooleanWhether this error caused an app crash.
freeze.durationNumber (nanoseconds)Duration of main thread freeze. Only applicable to App Hang.

Network Errors#

Network errors contain information about failed HTTP requests. The following additional attributes are collected:
AttributeTypeDescription
error.resource.status_codeNumberHTTP response status code.
error.resource.methodStringHTTP method (such as GET, POST).
error.resource.urlStringResource URL.
error.resource.provider.nameStringResource provider name, defaults to unknown.
error.resource.provider.domainStringResource provider domain.
error.resource.provider.typeStringResource provider type (such as first-party, cdn, ad, analytics).

Action Attributes#

AttributeTypeDescription
action.idStringUnique user action identifier.
action.typeStringUser action type (such as tap, application_start).
action.nameStringUser action name.
action.target.nameStringElement user interacted with. Only for automatically collected actions.
action.loading_timeNumber (nanoseconds)Action loading time.
action.resource.countNumberNumber of resources triggered by this action.
action.error.countNumberNumber of errors triggered by this action.
action.long_task.countNumberNumber of long tasks triggered by this action.

Crash Attributes#

When an app crashes, the following additional attributes are collected:
AttributeTypeDescription
error.signalStringSignal name that caused the crash (such as SIGABRT, SIGSEGV).
error.binary_imagesArrayList of binary images loaded at crash time.
error.threadsArrayState of all threads at crash time.
error.metaObjectCrash-related metadata.

Data Storage#

Before uploading to Flashcat, data is stored in plain text in the app sandbox's cache directory (Library/Caches). Other apps installed on the device cannot read this directory.
To ensure the SDK doesn't occupy excessive disk space, outdated data is automatically discarded. The SDK follows these rules:
When network is available and device battery is sufficient, data is sent in batches.
If network is unavailable or data upload fails, batches are retained until successfully sent.
Data exceeding a certain time limit is automatically cleaned up.
This means data won't be lost even if users use your app while offline.

More Information#

iOS SDK Integration: Learn how to integrate Flashcat RUM SDK in iOS apps
iOS SDK Advanced Configuration: Learn how to configure advanced SDK features
RUM Data Collection: Learn about RUM general data collection mechanism

添加官方技术支持微信

在这里,获得使用上的任何帮助,快速上手FlashDuty

微信扫码交流
修改于 2026-01-16 08:23:28
上一页
Compatibility
下一页
Compatibility
Built with