C++ Application Data Collection
After application data is collected into Guance, you can use the Guance console to customize scenarios and configure anomaly detection events.
Data Types
Guance's Real User Monitoring (RUM) includes six data types:
| Type |
Description |
| session |
Records user session information. During a session, user page, resource, action, error, and long task access data are collected based on the session dimension. |
| view |
Each time a user visits a page in the application, a view record is generated. 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 |
Records information about resources loaded when a user visits a page. |
| error |
Exceptions or crashes emitted by the application. |
| long_task |
A long task event is generated for any task that blocks the main thread for longer than the specified duration threshold in the application. |
| action |
Records user activities in the application (app launch, click, swipe, back, etc.). Each action has a unique action_id. |
Global Attributes
All RUM scenario building and event alerting 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, the unique application ID for RUM, automatically generated when creating a monitor in the Guance 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, the name of the business or service. Fixed values:
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 the 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 there is no user activity 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 features; synthetics: Data generated by headless synthetic tests. |
is_signin |
boolean |
Whether the user is a registered user. Values: T & F. |
Device & Resolution Attributes
| Field |
Type |
Description |
device |
string |
Device manufacturer |
model |
string |
Device model |
device_uuid |
string |
Device unique ID |
os |
string |
Operating system information |
os_version |
string |
Operating system version |
os_version_major |
string |
Operating system major version |
screen_size |
string |
Screen resolution |
Geo & 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 unavailable) |
country |
string |
Country |
country_iso_code |
string |
Country ISO code |
province |
string |
Province |
city |
string |
City |
Custom Attributes
In addition to global attributes, you can also use custom attributes (the SDK supports user-defined custom tag data) to build scenarios and configure event alerts. Custom attributes are non-global attributes. Through custom attributes, you can 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 features; test: Data generated by headless synthetic tests. |
session_referrer |
string |
Session referrer. Typically records the referring page URL. |
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 visited page in the current session |
session_last_view_name |
string |
The URL of the last page in the current session |
Metrics
| Field |
Type |
Description |
time_spent |
number(ns) |
Current session duration |
session_view_count |
number |
Number of view_id values 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 of the current page |
view_name |
string |
Page name |
Action Attributes
| Field |
Type |
Description |
action_id |
string |
Unique ID generated when a user performs an action on a page |
action_name |
string |
Action name |
action_type |
string |
Action type (cold/warm start, click, etc.) |
Metrics
| Field |
Type |
Description |
loading_time |
number(ns) |
Page load time |
time_spent |
number(ns) |
Page dwell time |
is_active |
boolean |
Indicates 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 |
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 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 referrer, the parent page of the current page |
view_name |
string |
Page name |
Action Attributes
| Field |
Type |
Description |
action_id |
string |
Unique ID generated when a user performs an action on a 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 group of the resource URL |
resource_type |
string |
Resource category |
resource_method |
string |
Resource request method |
resource_status |
string |
Status code returned by the resource request |
resource_status_group |
string |
Status code group returned by the resource request |
Metrics
| Field |
Type |
Description |
resource_size |
number |
Resource 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) |
Time to first byte for resource loading Calculation: responseStart - requestStart |
resource_trans |
number(ns) |
Content transfer 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 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 of the current page |
view_name |
string |
Page name |
Action Attributes
| Field |
Type |
Description |
action_id |
string |
Unique ID generated when a user performs an action on a 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 & abort & ios_crash network error type: network |
error_situation |
string |
Timing of the error. Reference values: startup (during startup) and run (during runtime) |
When type=network, the following Network Error attributes are added.
| Field |
Type |
Description |
resource_status |
string |
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 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 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 of the current page |
view_name |
string |
Page name |
Action Attributes
| Field |
Type |
Description |
action_id |
string |
Unique ID generated when a user performs an action on a page |
action_name |
string |
Action name |
action_type |
string |
Action type (cold/warm start, click, etc.) |
Metrics
| Field |
Type |
Description |
duration |
number(ns) |
Jank duration |
long_task_message |
string |
Jank message |
long_task_stack |
string |
Jank 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 of the current page |
view_name |
string |
Page name |
Action Attributes
| Field |
Type |
Description |
action_id |
string |
Unique ID generated when a user performs an action on a 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 |
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 |