Skip to content

Flutter Application Data Collection


Introduction

Flutter data collection relies on the Android iOS Native framework. To compare with Android iOS data collection, the items marked with strikethrough below are features that have not been implemented.

Data Types

TrueWatch's user access monitoring includes six data types.

Type Description
session User session information record. In the current session, user page, resource, action, error, and long task related access data will be collected based on the session dimension.
view Each time a user visits a page of the mobile application, a view record is generated. When the 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 Record of resource information loaded when the user visits a page.
error Exceptions or crashes emitted by the mobile application.
long_task For any task that blocks the main thread for more than a specified duration threshold in the application, a long task event is generated.
action Records user activities in the mobile application (app launch, click, swipe, back, etc.). Each action is attached with a unique action_id.

Global Attributes

Both the scenario building and event alerting of user access monitoring can be queried through the following global attributes.

SDK Attributes

Field Type Description
sdk_name string Collector name, fixed names:
df_macos_rum_sdk
df_linux_rum_sdk
df_windows_rum_sdk
df_web_rum_sdk
df_miniapp_rum_sdk
df_ios_rum_sdk
df_android_rum_sdk
sdk_version string Collector version information

Application Attributes

Field Type Description
app_id string Required, unique ID of the user access application, automatically generated when creating monitoring in the TrueWatch console.
env string Required, environment field. Attribute values: prod/gray/pre/common/local. Where:
prod: Production environment
gray: Grayscale 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. Fixed names:
df_rum_ios
df_rum_android
df_rum_windows
df_rum_linux

User & Session Attributes

Field Type Description
userid string For unauthenticated users, a random UUID is used as userid; for authenticated users, the user ID generated by the application backend is used.
user_name string Optional, user name.
user_email string Optional, user email.
session_id string Session ID. If no operation for more than 15 minutes, a new session_id will be generated.
session_type string Session type. Reference values: user & synthetics.
user: Data generated by RUM functionality;
synthetics: Data generated by headless synthetic tests.
is_signin boolean Whether it is a registered user. Attribute values: T & F.

Device & Resolution Attributes

Field Type Description
device string Mobile device manufacturer
model string Mobile device model
device_uuid string Unique mobile device ID, generated using Android:ANDROID_ID, iOS:UIDevice.identifierForVendor
os string Operating system information
os_version string Operating system version
os_version_major string Major operating system version
screen_size string Screen resolution

Geographic & Network Attributes

Field Type Description
ip string User access IP address
isp string Internet service provider
network_type string Network connection type. Reference attribute values: wifi & 2g & 3g & 4g & 5g & unknown (unknown network) & unreachable (network unreachable)
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 to add 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

Attributes

Field Type Description
session_id string Session ID
session_type string Session type. Reference values: user & test.
user: Data generated by RUM functionality;
test: Data generated by headless synthetic tests.
session_referrer string Session source. Generally records the source page URL.
session_first_view_id string view_id of the first page of the current session
session_first_view_name string URL of the first page of the current session
session_last_view_id string view_id of the last visited page of the current session
session_last_view_name string URL of the last page of the current session

Metrics

Field Type Description
time_spent number(ns) Duration of the current session
session_view_count number Number of view_id 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 actions 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 visited
view_referrer string Page source, the parent page
view_name string Page name

Action Attributes

Field Type Description
action_id string Unique ID generated when the user performs an action on the page
action_name string Action name
action_type string Action type (cold/hot start, click, etc.)

Metrics

Field Type Description
loading_time number(ns) Page loading time. Only generated when calling createView(viewName, duration) and reported before starView(); automatic route collection does not calculate this metric
time_spent number(ns) Page dwell time
is_active boolean Determines whether the user is still active. Reference values: true & false

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 actions performed during the page view process

Monitoring Metrics

Field Type Description
cpu_tick_count number Optional, CPU tick count for this page
cpu_tick_count_per_second number Optional, average 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 visited
view_referrer string Page source, the parent page
view_name string Page name

Action Attributes

Field Type Description
action_id string Unique ID generated when the user performs an action on the page
action_name string Action name
action_type string Action type (cold/hot start, click, etc.)

Resource Attributes

Field Type Description
resource_url string Resource URL
resource_url_host string Host 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 Path group of the resource URL
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 Status group value returned by the resource request

Metrics

Field Type Description
resource_size number Resource size, default unit: byte
resource_dns number(ns) Resource loading DNS resolution time.
Calculation method: domainLookupEnd - domainLookupStart
resource_tcp number(ns) Resource loading TCP connection time.
Calculation method: connectEnd - connectStart
resource_ssl number(ns) Resource loading SSL connection time.
Calculation method: connectEnd - secureConnectStart
resource_ttfb number(ns) Resource loading request response time.
Calculation method: responseStart - requestStart
resource_trans number(ns) Resource loading content transfer time.
Calculation method: responseEnd - responseStart
resource_first_byte number(ns) Resource loading time to first byte.
Calculation method: responseStart - domainLookupStart
duration number(ns) Resource loading time. Recorded via startResource() / stopResource() for overall duration
request_header string Resource request header
response_header string Resource response header

Error

View Attributes

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

Action Attributes

Field Type Description
action_id string Unique ID generated when the user performs an action on the page
action_name string Action name
action_type string Action type (cold/hot start, click, etc.)

Error Attributes

Field Type Description
error_source string Error source. Reference values: logger & network
error_type string Error type.
logger error type: flutter_crash | java_crash | native_crash | anr_error | anr_crash | ios_crash
network error type: network_error
error_situation string Timing of the error occurrence. Reference values: startup (at startup) and run (at runtime)

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

Field Type Description
resource_status string Status value returned by the resource request
resource_url string Resource URL
resource_url_host string Host part of the resource URL
resource_url_path string Path part of the resource URL
resource_url_path_group string Path group of the resource URL
resource_method string Resource request method

Error Monitoring Attributes

Field Type Description
memory_total string Optional, total memory
memory_use number Optional, memory usage
cpu_use number Optional, CPU usage
battery_use number Optional, current battery level of the phone
locale string Current system language

Metrics

Field Type Description
error_message string Error message
error_stack string Error stack trace

Long Task

View Attributes

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

Action Attributes

Field Type Description
action_id string Unique ID generated when the user performs an action on the page
action_name string Action name
action_type string Action type (cold/hot start, click, etc.)

Metrics

Field Type Description
duration number(ns) Stutter duration
long_task_message string Stutter information
long_task_stack string Stutter stack trace

Action

View Attributes

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

Action Attributes

Field Type Description
action_id string Unique ID generated when the user performs an action on the page
action_name string Action name
action_type string Action type (cold/hot start, click, etc.)

Metrics

Field Type Description
duration number(ns) Time spent on page action

Statistical Metrics

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