macOS Application Data Collection
Introduction
After application data is collected into TrueWatch, you can use the TrueWatch console to configure custom scenarios and anomaly detection events.
Data Types
Real User Monitoring (RUM) in TrueWatch includes six data types.
| Type |
Description |
| session |
User session information record. During the current session, access data related to user pages, resources, actions, errors, and long tasks is collected based on the session dimension. |
| view |
A view record is generated each time a user visits a page of the application. While the user stays on the same page, resource, long task, error, and action records are linked to the related RUM view via the view_id attribute. |
| resource |
A record of resource information loaded when the user visits a page. |
| error |
An exception or crash emitted by the application. |
| long_task |
A long task event is generated for any task that blocks the main thread for longer than a specified duration threshold. |
| action |
Records user activities in the application (app launch, click, swipe, back, etc.). Each action is attached with a unique action_id. |
Global Attributes
Scenario construction and event alerting in RUM can be queried using the following global attributes.
SDK Attributes
| Field |
Type |
Description |
sdk_name |
string |
Collector name, fixed values:
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 RUM application, automatically generated when creating a monitor in the TrueWatch console. |
env |
string |
Required, environment field. Values: prod/gray/pre/common/local. Where:
prod: production environment
gray: canary 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 values:
df_rum_ios
df_rum_macos
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 occurs for more than 15 minutes, a new session_id is 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 the user is registered. Values: T & F. |
Device & Resolution Attributes
| Field |
Type |
Description |
device |
string |
Device manufacturer |
model |
string |
Device model |
device_uuid |
string |
Unique device ID |
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 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, custom attributes (the SDK supports user-defined custom tag data) can be used to build scenarios and configure event alerts. Custom attributes are not global; they allow you to track the entire user access process, locate and identify affected user access, 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 referrer, generally records the page URL of the origin. |
session_first_view_id |
string |
view_id of the first page in the current session |
session_first_view_name |
string |
URL of the first page in the current session |
session_last_view_id |
string |
view_id of the last page visited in the current session |
session_last_view_name |
string |
URL of the last page in the current session |
Metric Counts
| 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 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 referrer, the parent page |
view_name |
string |
Page name |
Metrics
| Field |
Type |
Description |
loading_time |
number (ns) |
Page load time |
time_spent |
number (ns) |
Time spent on the page |
is_active |
boolean |
Indicates whether the user is still active. Reference values: true & false |
Metric Counts
| 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 during the page view |
Monitoring Metrics
| Field |
Type |
Description |
cpu_tick_count |
number |
Optional, CPU tick count for the 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 of the page |
memory_max |
number |
Optional, peak memory usage of the page |
Resource
View Attributes
| Field |
Type |
Description |
view_id |
string |
Unique ID generated each time a page is visited |
view_referrer |
string |
Page referrer, 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/warm 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 grouping of the resource URL |
resource_type |
string |
Resource category |
resource_method |
string |
Resource request method |
resource_status |
string |
HTTP status code returned by the resource request |
resource_status_group |
string |
Grouped HTTP status code of the resource request |
Metrics
| Field |
Type |
Description |
resource_size |
number |
Resource size, default unit: bytes |
resource_dns |
number (ns) |
DNS resolution time for the resource Calculation: domainLookupEnd - domainLookupStart |
resource_tcp |
number (ns) |
TCP connection time for the resource Calculation: connectEnd - connectStart |
resource_ssl |
number (ns) |
SSL connection time for the resource Calculation: connectEnd - secureConnectStart |
resource_ttfb |
number (ns) |
Time to first byte for the resource Calculation: responseStart - requestStart |
resource_trans |
number (ns) |
Content transfer time for the resource Calculation: responseEnd - responseStart |
resource_first_byte |
number (ns) |
First byte time for the resource Calculation: responseStart - domainLookupStart |
duration |
number (ns) |
Resource load time Calculation: duration (responseEnd - startTime) |
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 referrer, 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/warm start, click, etc.) |
Error Attributes
| Field |
Type |
Description |
error_source |
string |
Error source. Reference values: logger | network |
error_type |
string |
Error type. Logger error types: java_crash | native_crash | anr_error | anr_crash | ios_crash Network error type: network_error |
error_situation |
string |
Timing of the error. 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 |
HTTP status code 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 grouping 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 percentage |
cpu_use |
number |
Optional, CPU usage percentage |
battery_use |
number |
Optional, current device battery level |
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 referrer, 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/warm start, click, etc.) |
Metrics
| Field |
Type |
Description |
duration |
number (ns) |
Stutter duration |
long_task_message |
string |
Stutter message |
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 referrer, 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/warm start, click, etc.) |
Metrics
| Field |
Type |
Description |
duration |
number (ns) |
Time spent on the page action |
Metric Counts
| 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 |