Real User Monitoring (RUM) collects user session data into structured log tables. Use this reference to identify field names, data types, and descriptions when you query, filter, or build dashboards.
Log structure
RUM logs are organized into two categories:
Detail tables store individual events: View, Resource, Exception, Action, Custom, Application, and System.
Aggregation table stores session-level summaries: Session.
The following diagram describes how these tables relate to each other:
Session (aggregation)
+-- View (page/screen visit)
| |-- Resource (network request)
| |-- Exception (error)
| |-- Action (user interaction)
| +-- Custom (developer-defined event)
+-- Application (app lifecycle, native only)
+-- System (system event, native only)Each session contains one or more views. Each view can contain multiple resources, exceptions, actions, and custom events. Application and System events are at the session level and apply only to native apps.
| Event type | Table | Description |
|---|---|---|
| view | View | Page or screen visits, with performance timing data (Web Vitals, navigation timing). |
| resource | Resource | Network requests: static assets (CSS, JS, images) and API calls (XHR, fetch). |
| exception | Exception | Runtime errors, crashes, ANRs, blank screens, and custom errors. |
| action | Action | User interactions such as clicks, taps, and scrolls. |
| custom | Custom | Developer-defined events reported through the SDK. |
| application | Application | App lifecycle events: cold start, hot start, exit, background/foreground transitions (native only). |
| system | System | System-level events such as network changes (native only). |
| session | Session | Aggregated session summary with event counts and duration. |
The Application and System tables apply only to native application monitoring (Android and iOS).
Field categories
Each field in the tables below falls into one of three categories:
| Category | Data type | Indexed | Purpose |
|---|---|---|---|
| Attribute | String | Yes | Group, filter, and aggregate data. Not quantifiable. Limited set of possible values. |
| Measure | Number | Yes | Quantifiable metric used in calculations and visualizations. |
| Metadata | Varies | No | Supplementary data that describes other fields. Not indexed by default. |
Common fields
Common fields appear in all detail and aggregation tables. Common attributes must be indexed. They are essential for data filtering and aggregation. Within the same session, these values typically stay consistent. A value can change mid-session if, for example, a user switches accounts, which updates the user ID.
Common attributes
| Attribute | Type | Field name | Description |
|---|---|---|---|
| timestamp | long | Time of occurrence | Start time of the event. Falls back to system time if unavailable. |
| event_type | string | Event type | Event category: view, resource, exception, longtask, action, custom, and the session aggregation table. |
| event_id | string | Event ID | Unique event identifier. Applies to resource, exception, longtask, action, and custom events. Not generated for view or session events. |
| app.id | string | Application ID | Unique application ID, generated when you create a RUM application. |
| app.version | string | Application version | User-defined application version number. |
| app.channel | string | Application channel | Application distribution channel. |
| app.env | string | Environment context | Environment label. Valid values: production (prod) (default), grayscale (gray), pre-release (pre). |
| app.type | string | Application type | Application type, specified by both the reporting side and the data stream. Valid values: android, ios, browser, miniapp. |
| app.package | string | Application package name | Application package identifier. The value depends on the platform: Android = PackageName, iOS = BundleIdentifier, Miniapp = AppId, Browser = user-defined. |
| user.id | string | User ID | Visitor identifier, auto-generated by the SDK. Cannot be modified. |
| user.name | string | Username | Business user identifier. Requires custom configuration. |
| user.tags | string | User tag | User tag for custom segmentation. |
| device.id | string | Device ID | Device identifier. |
| device.type | string | Device type | Device type reported by the device, such as mobile phone or PC. |
| device.brand | string | Device brand | Device brand, such as Mac, iPad, Huawei, or Xiaomi. |
| device.model | string | Device model | Device model reported by the device. |
| device.name | string | Device name | Device name reported by the device. |
| os.type | string | Operating system | Operating system name. |
| os.version | string | Operating system version | Operating system version. |
| os.container | string | Container type | Container environment, such as Chrome, WeChat mini program, or the app name. |
| os.container_version | string | Container version | Container version, for example, the Chrome version. |
| geo.country | string | Country | Country name. |
| geo.country_id | string | Country ISO | ISO country code. |
| geo.province | string | Province/Region | Province or region name. |
| geo.province_id | string | Region Code | Province or region code. |
| geo.city | string | City | City name. |
| geo.city_id | string | City Code | City code. |
| isp.id | string | Carrier ID | Carrier ID. |
| isp.name | string | Carrier name | Carrier name. |
| net.model | string | Connection type | Network connection type: 2G, 3G, 4G, 5G, WIFI, or Unknown. Platform-dependent. |
| net.name | string | Network name | Ethernet name. |
Common measures
| Metric | Type | Description |
|---|---|---|
| times | int | Number of times the event occurred. Default: 1. |
Common metadata
| Field | Type | Description |
|---|---|---|
| os.user_agent | string | User-Agent request header. |
| net.ip | string | Client IP address. |
| device.sr | string | Screen resolution. |
| os.container_vp | string | Viewport resolution (page size). |
Detail tables
View table
A View represents a page or screen visit. Each visit generates a page view (PV) event that serves as the anchor for all related events and timing metrics.
View events fall into three reporting types:
PV: Page view count. One PV is reported per view access. It provides the basic data used to associate various events and calculate timing metrics.
Web Vitals: Google's three core performance metrics (LCP, FID, CLS). Collected separately because their measurement timing varies.
Perf: Navigation timing metrics based on the Performance API. Focuses on objective page load performance.
Web Vitals and Perf are optional and may not apply to native views. Page dwell time is behavioral data and belongs in the Action table, not the View table.
Attributes
| Attribute | Type | Field name | Description |
|---|---|---|---|
| session.id | string | Session ID | Associated session ID. |
| view.id | string | View ID | Randomly generated ID for this page view. |
| view.name | string | View name | View alias. Defaults to the URL path. Can be overridden by matching rules or custom configuration. |
| view.loading_type | string | View loading type | How the view loaded: initial_load or route_change. |
| view.type | string | View event type | View event type: pv or perf. |
| view.view_type | string | View rendering type | View rendering type. |
Timing measures
The following metrics capture page load performance. Web Vitals (LCP, FID, CLS) measure user-perceived performance. Navigation timing metrics (FCP through load_event) measure objective page load stages based on the Performance API.
| Metric | Type | Field name | Description |
|---|---|---|---|
| view.time_spent | long (ms) | Page | Time spent on the current view. |
| view.largest_contentful_paint | long (ms) | Largest Contentful Paint | Largest Contentful Paint (LCP) -- time to render the largest visible DOM element. |
| view.first_input_delay | long (ms) | First Input Delay | First Input Delay (FID) -- delay between the first user interaction and the browser response. |
| view.cumulative_layout_shift | long (unitless) | Cumulative Layout Shift | Cumulative Layout Shift (CLS) -- quantifies unexpected layout shifts caused by dynamically loaded content. 0 means no shift. |
| view.first_contentful_paint | long (ms) | First Contentful Paint (blank screen time) | First Contentful Paint (FCP) -- time to render the first text, image, non-white canvas, or SVG. |
| view.dom_interactive | long (ms) | Time to Interactive | Time to Interactive -- time until the DOM becomes interactive. |
| view.dom_content_loaded | long (ms) | HTML complete load time (DOM Ready time) | DOM Ready -- fires when the initial HTML is fully parsed, without waiting for stylesheets, images, or subframes. |
| view.dom_complete | long (ms) | DOM | DOM Complete -- the page and all sub-resources are ready. The loading indicator has stopped. |
| view.load_event | long (ms) | Page full load time | Full page load time -- fires when the page is fully loaded. Often triggers additional application logic. |
Web Vitals thresholds
The following table lists performance thresholds for Web Vitals and page load time. Use these values to identify performance issues.
| Metric | Good | Needs improvement | Poor |
|---|---|---|---|
LCP (view.largest_contentful_paint) | < 2,500 ms | 2,500--4,000 ms | > 4,000 ms |
FID (view.first_input_delay) | < 100 ms | 100--300 ms | > 300 ms |
CLS (view.cumulative_layout_shift) | < 0.1 | 0.1--0.25 | > 0.25 |
Page load (view.load_event) | < 2,000 ms | 2,000--4,000 ms | > 5,000 ms |
A page load time greater than 5 seconds not only affects the website's search engine ranking but also severely impacts the user experience.
Metadata
| Field | Type | Description |
|---|---|---|
| view.referrer | string | URL of the previous page (HTTP Referer). |
| view.url | string | Full URL of the view, including scheme, host, path, query, and hash. |
| view.timing_data | string | JSON string of PerformanceResourceTiming data. |
| view.snapshots | string | JSON string of view snapshots. Used primarily for native applications. |
Resource table
A Resource event summarizes an HTTP network request. RUM normalizes differences in the Performance API across platforms so that resource data is comparable.
Resources fall into two categories:
Static resources (
resource.type:css,javascript,image,media, etc.) -- focus on resource type, CDN performance, and network stability. Whenresource.typeisnavigation, the resource is associated with the parent View through a sharedview.id.API requests (
resource.type:XHR,fetch, orAPI) -- focus on server-side interactions, response codes, and distributed tracing.
XHR and fetch types are primarily used in browsers and WebViews. In native and miniapp environments, the default type is API.
Resource events should only be reported for actual network requests. Filter out cached resources. If cached data is valuable (for example, to calculate cache hit ratios), set resource.type to cached to distinguish it from network requests.
Attributes
| Attribute | Type | Description |
|---|---|---|
| session.id | string | Associated session ID. |
| view.id | string | Associated view ID. |
| view.name | string | Associated view name. |
| resource.type | string | Resource type: css, javascript, media, XHR, image, navigation, etc. XHR and fetch requests are classified as API resources. |
| resource.method | string | HTTP method, such as GET or POST. |
| resource.status_code | string | HTTP response status code. |
| resource.message | string | Response content or error message (corresponds to resource.error_msg). Typically populated on errors. |
| resource.url | string | Full resource URL. |
| resource.name | string | Resource name. Defaults to the URL path. Can be overridden by matching rules or custom configuration. |
| resource.provider_type | string | Resource provider category: first-party, cdn, ad, analytics. |
| resource.trace_id | string | Distributed trace ID associated with the request. |
Measures
| Metric | Type | Description | Formula |
|---|---|---|---|
| resource.success | number | Load status. 1 = success (default), 0 = failed. | -- |
| resource.duration | long (ms) | Total load time. | responseEnd - redirectStart |
| resource.size | long (bytes) | Decoded body size (decodedBodySize). | -- |
| resource.connect_duration | long (ms) | TCP connection time. | connectEnd - connectStart |
| resource.ssl_duration | long (ms) | TLS handshake time. Only applies to HTTPS requests. If secureConnectionStart is 0, no TLS handshake occurred and this value is 0. | connectEnd - secureConnectionStart |
| resource.dns_duration | long (ms) | DNS lookup time. | domainLookupEnd - domainLookupStart |
| resource.redirect_duration | long (ms) | HTTP redirect time. | redirectEnd - redirectStart |
| resource.first_byte_duration | long (ms) | Time to first byte (TTFB). | responseStart - requestStart |
| resource.download_duration | long (ms) | Response download time. | responseEnd - responseStart |
Metadata
| Field | Type | Description |
|---|---|---|
| resource.timing_data | string | JSON string of PerformanceResourceTiming data. |
| resource.trace_data | string | Distributed tracing snapshot. JSON with propagatorType, traceId, spanId, and sample fields. |
| resource.snapshots | string | Resource snapshot data. Used primarily for native applications. Example: "resource.flavor": "1.0", "resource.client.tcp.ip": "127.0.0.1", "resource.client.tcp.port": 8080, "resource.request.content_length": 1024, "resource.request.header.content_type": ["application/json"], "resource.request.header.accept_encoding": ["gzip", "deflate", "br"], "resource.response.content_length": 2048, "resource.response.header.eagleid": ["670f632716687515436056344e"] |
| resource.node_name | string | DOM element type that initiated the request. |
| resource.xpath | string | XPath location of the initiating element (for example, html. > body. > img.). |
| resource.provider_name | string | Resource provider name. Default: unknown. |
| resource.provider_domain | string | Resource provider domain name. |
Exception table
An Exception event represents an unexpected error during code execution. Exceptions are classified into the following types:
| Type | Description |
|---|---|
| Crash | The application terminates unexpectedly. |
| ANR | Application Not Responding. The UI thread (main thread) fails to process a Key Dispatch, Broadcast, or Service message within the required time. Classified as an Exception, not a LongTask. |
| Exception | Other abnormal conditions that do not cause a crash or ANR. |
| Custom | An error actively reported by the developer through the SDK. |
| Error | Mainly used to record JavaScript-related errors. |
| Blank | Blank screen detection, primarily for browser environments. |
Attributes
| Attribute | Type | Description |
|---|---|---|
| session.id | string | Associated session ID. |
| view.id | string | Associated view ID. |
| view.name | string | Associated view name. |
| exception.source | string | Error source, such as console or event. |
| exception.file | string | File where the error occurred. |
| exception.type | string | Error category: crash, custom, or error. |
| exception.subtype | string | Sub-category of the error type. |
| exception.name | string | Error name. |
| exception.message | string | Human-readable error message. |
Metadata
| Field | Type | Description |
|---|---|---|
| exception.stack | string | Stack trace or supplementary error information. |
| exception.caused_by | string | Root cause of the exception. |
| exception.line | long | Line number where the error occurred. |
| exception.column | long | Column number where the error occurred. |
| exception.thread_id | string | Thread ID. |
| exception.binary_images | string | Binary image information for the error source. |
| exception.snapshots | string | Error snapshot data. |
Action table
An Action event records a user interaction, such as a click, tap, or scroll.
Attributes
| Attribute | Type | Description |
|---|---|---|
| session.id | string | Associated session ID. |
| view.id | string | Associated view ID. |
| view.name | string | Associated view name. |
| action.type | string | Interaction type. |
| action.name | string | Semantic action name, for example, Click #checkout. |
| action.target_name | string | Target element name. Populated only for automatically collected actions. |
Measures
| Metric | Type | Description |
|---|---|---|
| action.duration | long (ms) | Duration of the interaction. |
Metadata
| Field | Type | Description |
|---|---|---|
| action.snapshots | string | Interaction snapshot data. |
| action.method_info | string | Callback method name, for example, onClick(). |
Custom table
A Custom event is a developer-defined event reported through the SDK.
Attributes
| Attribute | Type | Description |
|---|---|---|
| session.id | string | Associated session ID. |
| view.id | string | Associated view ID. |
| view.name | string | Associated view name. |
| custom.type | string | Custom event type. |
| custom.name | string | Custom event name. |
| custom.group | string | Custom event group. |
Measures
| Metric | Type | Description |
|---|---|---|
| custom.value | number | Numeric value associated with the custom event. |
Metadata
| Field | Type | Description |
|---|---|---|
| custom.snapshots | string | Custom event snapshot data. Maximum recommended length: 5,000 characters. |
Application table
The Application table records app lifecycle events such as cold starts, hot starts, exits, and background/foreground transitions. This table applies only to native applications.
Attributes
| Attribute | Type | Description |
|---|---|---|
| session.id | string | Associated session ID. |
| application.type | string | Lifecycle event type: launch, exit, background (runs in the background), or Bring to foreground. |
| application.name | string | Granular event label: Cold start, Hot launch (hot start), first launch, background (run in the background), or Bring to foreground. |
Measures
| Metric | Type | Description |
|---|---|---|
| application.duration | long (ms) | Duration of the lifecycle event. |
Metadata
| Field | Type | Description |
|---|---|---|
| application.snapshots | string | Snapshot of the launch event, typically thread method call data. |
System table
The System table records system-level events such as network changes. This table applies only to native applications.
Attributes
| Attribute | Type | Description |
|---|---|---|
| session.id | string | Associated session ID. |
| system.type | string | System event type. |
| system.name | string | Semantic event name, for example, Click #checkout. |
Metadata
| Field | Type | Description |
|---|---|---|
| system.snapshots | string | System event snapshot. For network change events, includes before/after IP addresses and network types. Example: "sys.net_change.before.ip": "1.1.XX.XX", "sys.net_change.before.standard": "wifi", "sys.net_change.after.ip": "2.2.2.2", "sys.net_change.after.standard": "4G" |
Aggregation table
Session table
A Session represents a continuous period of user activity. The SDK generates a unique session.id for each session.
Attributes
| Attribute | Type | Description |
|---|---|---|
| session.id | string | Randomly generated session ID. |
| session.ip | string | Client IP address. |
| session.referrer | string | URL of the referring page. |
| session.initial_view_id | string | ID of the first view in the session. |
| session.initial_view_name | string | Name of the first view in the session. |
| session.last_view_id | string | ID of the last view in the session. |
| session.last_view_name | string | Name of the last view in the session. |
| session.start | long | Session start timestamp. |
| session.end | long | Session end timestamp. |
Measures
| Metric | Type | Name | Description |
|---|---|---|---|
| session.time_spent | long (ms) | Session duration | Total session duration. |
| session.view_count | long | View count | Total page views in the session. |
| session.exception_count | long | Exception count | Total exceptions in the session. |
| session.resource_count | long | Resource request count | Total resource requests in the session. |
| session.resource_error_count | long | Resource error count | Total failed resource requests in the session. |
| session.api_count | long | API request count | Total API requests in the session. |
| session.api_error_count | long | API error count | Total failed API requests in the session. |
| session.action_count | long | User event count | Total user interactions in the session. |
| session.long_task_count | long | Stuttering count | Total long tasks (stuttering events) in the session. |
Metadata
| Field | Type | Description |
|---|---|---|
| session.initial_view.url | string | URL of the first view in the session. |
| session.last_view_url | string | URL of the last view in the session. |