Android Application Data Collection
After collecting application data to Guance, you can customize scenarios and configure anomaly detection events through the Guance console.
Data Types
Guance's RUM includes six data types. Among them, the Android SDK natively reports five types of data: view, resource, error, long_task, and action. session is aggregated data based on session dimensions.
| Type |
Description |
| session |
User session information record. Within the current session, access data related to user pages, resources, operations, errors, and long tasks will be aggregated based on the session dimension. |
| view |
A view record is generated each time a user accesses a page of the mobile application. When a 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 a user accesses a page. |
| error |
Exceptions or crashes emitted by the mobile application. |
| long_task |
A long task event is generated for any task in the application that blocks the main thread for longer than a specified duration threshold. |
| action |
Records user activities within the mobile application (application startup, clicks, swipes, back, etc.). Each action is attached with a unique action_id. |
Global Attributes
Both 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 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 |
sdk_pkg_info |
string |
Collector version information collection, including SDK internal module version information. |
Application Attributes
| Field |
Type |
Description |
app_id |
string |
Required. Unique ID for the RUM application, automatically generated when creating a monitor in the Guance console. |
env |
string |
Required. Environment field. Attribute values: prod/gray/pre/common/local. Among them: prod: Production environment gray: Gray environment pre: Pre-release environment common: Daily environment local: Local environment |
version |
string |
Required. Version number. |
service |
string |
Optional. Name of the associated business or service. Fixed names:
df_rum_ios
df_rum_android
df_rum_windows
df_rum_linux |
application_uuid |
string |
Application unique identifier. |
User & Session Attributes
| Field |
Type |
Description |
userid |
string |
For non-logged-in users, a random uuid is used as userid. For logged-in 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. A new session_id is generated after 15 minutes of inactivity. |
session_type |
string |
Session type. Reference values: user & synthetics user: Data generated by RUM functionality; synthetics: Data generated by headless testing. |
is_signin |
boolean |
Whether it is a registered user. Attribute values: T & F. |
session_has_replay |
boolean |
Whether the current session is associated with Session Replay data. |
Device & Resolution Attributes
| Field |
Type |
Description |
device |
string |
Mobile device manufacturer |
model |
string |
Mobile device model |
device_uuid |
string |
Mobile device unique ID. Generated using ANDROID_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 |
arch |
string |
Processor architecture |
Geographic & Network Attributes
| Field |
Type |
Description |
ip |
string |
User access IP address |
isp |
string |
Internet Service Provider |
network_type |
string |
Network connection type. Attribute value reference: 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, scenarios can be constructed and event alerts can be configured using custom attributes (The SDK supports users adding 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
Session-related data is server-side session dimension aggregated data, not a measurement natively reported directly by the Android SDK.
Attributes
| Field |
Type |
Description |
session_id |
string |
Session id |
session_type |
string |
Session type. Reference values: user & synthetics user: Data generated by RUM functionality; synthetics: Data generated by headless testing. |
session_referrer |
string |
Session referrer. Usually records the source page address. |
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 accessed page in the current session |
session_last_view_name |
string |
The URL of the last page in the current session |
Statistical Metrics
| 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 operations 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 accessed |
view_referrer |
string |
Page referrer, the parent of the page |
view_name |
string |
Page name |
Metrics
| Field |
Type |
Description |
loading_time |
number(ns) |
Page loading time |
time_spent |
number(ns) |
Page dwell time |
is_active |
boolean |
Determines whether the user is still active. Reference values: true & false |
session_sample_rate |
number |
RUM session sampling rate |
session_on_error_sample_rate |
number |
Error session sampling rate |
sampled_for_error_session |
boolean |
Whether the current session is an error-sampled session. Reference values: true & false |
sampled_for_error_replay |
boolean |
Whether the current session is an error Session Replay sample. Reference values: true & false |
session_error_timestamp |
number(ns) |
The time when the error occurred that triggered error sampling for the session |
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_long_task_rate |
number |
Proportion of time spent on long tasks during the page lifecycle |
view_action_count |
number |
Number of operations performed during page viewing |
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 |
battery_current_avg |
number |
Optional. Average battery current for the page |
battery_current_max |
number |
Optional. Maximum battery current for the page |
Resource
View Attributes
| Field |
Type |
Description |
view_id |
string |
Unique ID generated each time a page is accessed |
view_referrer |
string |
Page referrer, the parent of the page |
view_name |
string |
Page name |
Action Attributes
| Field |
Type |
Description |
action_id |
string |
Unique ID generated when a user performs a page operation |
action_name |
string |
Operation name |
Resource Attributes
| Field |
Type |
Description |
resource_url |
string |
Resource URL |
resource_id |
string |
Resource unique ID |
resource_url_host |
string |
Domain 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 |
Resource URL path grouping |
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 |
resource_host_ip |
string |
Target IP address of the resource URL |
response_connection |
string |
Value of the resource response header Connection |
response_content_type |
string |
Value of the resource response header Content-Type |
response_content_encoding |
string |
Value of the resource response header Content-Encoding |
resource_http_protocol |
string |
HTTP protocol used for the resource request |
resource_connection_reuse |
boolean |
Whether the resource request reuses a connection |
span_id |
string |
APM trace Span ID |
trace_id |
string |
APM trace Trace ID |
session_has_replay |
boolean |
Whether the current resource is associated with Session Replay data |
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) |
Request-response time for resource loading Calculation: responseStart - requestStart |
resource_trans |
number(ns) |
Content transmission time for resource loading Calculation: responseEnd - responseStart |
resource_first_byte |
number(ns) |
Time to first byte for resource loading Calculation: responseStart - domainLookupStart |
duration |
number(ns) |
Resource loading time Calculation: duration(responseEnd-startTime) |
resource_request_size |
number |
Resource request size, default unit: byte |
resource_dns_time |
object |
Resource DNS resolution time, format: {duration: number(ns), start: number(ns)} |
resource_connect_time |
object |
Resource connection time, format same as resource_dns_time |
resource_first_byte_time |
object |
Time to first byte for resource loading, format same as resource_dns_time |
resource_ssl_time |
object |
Resource SSL connection time, format same as resource_dns_time |
resource_download_time |
object |
Resource download time, format same as resource_dns_time |
request_header |
string |
Resource request header |
response_header |
string |
Resource response header |
Network Snapshot Metrics
| Field |
Type |
Description |
network_available |
boolean |
Whether the network was available when the resource request started |
network_validated |
boolean |
Whether the network had been validated by the system when the resource request started |
network_downlink_kbps |
number |
Network downlink bandwidth when the resource request started, unit: kbps |
network_uplink_kbps |
number |
Network uplink bandwidth when the resource request started, unit: kbps |
network_signal_strength |
number |
Network signal strength when the resource request started |
Error
View Attributes
| Field |
Type |
Description |
view_id |
string |
Unique ID generated each time a page is accessed |
view_referrer |
string |
Page referrer, the parent of the page |
view_name |
string |
Page name |
Action Attributes
| Field |
Type |
Description |
action_id |
string |
Unique ID generated when a user performs a page operation |
action_name |
string |
Operation name |
Error Attributes
| Field |
Type |
Description |
error_source |
string |
Error source. Reference values: logger | network |
error_type |
string |
Error type logger error type: java_crash | native_crash | anr_error | anr_crash network error type:network_error |
error_situation |
string |
Timing of the error occurrence. 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 value returned by the resource request |
resource_status_group |
string |
Status group value returned by the resource request |
resource_id |
string |
Resource unique ID |
resource_url |
string |
Resource URL |
resource_url_host |
string |
Domain part of the resource URL |
resource_url_path |
string |
Path part of the resource URL |
resource_url_path_group |
string |
Resource URL path grouping |
resource_method |
string |
Resource request method |
Error Monitoring Attributes
| Field |
Type |
Description |
memory_total |
string |
Optional. Total memory |
memory_use |
number |
Optional. Memory usage rate |
cpu_use |
number |
Optional. CPU usage rate |
battery_use |
number |
Optional. Current phone battery level |
carrier |
string |
Optional. Mobile cellular carrier |
locale |
string |
Current system language |
Metrics
| Field |
Type |
Description |
error_message |
string |
Error message |
error_stack |
string |
Error stack trace |
foreground_crash_free_duration |
number(ns) |
Foreground crash-free duration |
background_crash_free_duration |
number(ns) |
Background crash-free duration |
Long Task
View Attributes
| Field |
Type |
Description |
view_id |
string |
Unique ID generated each time a page is accessed |
view_referrer |
string |
Page referrer, the parent of the page |
view_name |
string |
Page name |
Action Attributes
| Field |
Type |
Description |
action_id |
string |
Unique ID generated when a user performs a page operation |
action_name |
string |
Operation name |
Metrics
| Field |
Type |
Description |
duration |
number(ns) |
Blocking duration |
long_task_stack |
string |
Blocking stack trace |
session_has_replay |
boolean |
Whether the current long task is associated with Session Replay data |
Action
View Attributes
| Field |
Type |
Description |
view_id |
string |
Unique ID generated each time a page is accessed |
view_referrer |
string |
Page referrer, the parent of the page |
view_name |
string |
Page name |
Action Attributes
| Field |
Type |
Description |
action_id |
string |
Unique ID generated when a user performs a page operation |
action_name |
string |
Operation name |
action_type |
string |
Operation type (cold/hot startup, click, etc.) |
app_launch_type |
string |
Launch type for cold start Actions. Reference values: foreground (foreground launch) and background (background launch). Supported in ft-sdk version 1.7.2 and above |
Metrics
| Field |
Type |
Description |
duration |
number(ns) |
Time spent on the page operation |
app_pre_application_init_time |
object |
For cold starts, initialization time from process start to before Application.onCreate(). Format: {duration: number(ns), start: number(ns)} |
app_application_init_time |
object |
For cold starts, initialization time from Application.onCreate() to the first Activity's preOnCreate(). Format same as app_pre_application_init_time |
app_first_frame_init_time |
object |
For cold starts, time from the first Activity's preOnCreate() to the completion of the first frame drawing. Format same as app_pre_application_init_time |
session_has_replay |
boolean |
Whether the current operation is associated with Session Replay data |
Statistical Metrics
| Field |
Type |
Description |
action_long_task_count |
number |
Number of long tasks associated with the operation |
action_resource_count |
number |
Number of resource requests associated with the operation |
action_error_count |
number |
Number of errors associated with the operation |