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 |