Querying RUM Logs
Real User Monitoring SDKs send logs to the Coralogix Ingress API using a predefined JSON format that maintains a consistent structure across all logs. This uniformity makes it easy to query cx_rum
logs with DataPrime, as all log types share the same overarching schema.
Each RUM log includes a common set of fields applicable to all event types. In addition, each specific event type has its own nested object containing fields unique to that event.
Currently, based on the enabled instrumentation, both browser and mobile SDKs can generate the following types of events:
resources
error
network-request
user-interaction
longtask
log
web-vitals
dom
custom-measurement
screenshot
Shared fields
These fields are included in all RUM logs, regardless of the event type. They provide contextual details such as session, event metadata, user identity, and environment information.
Full path | Description | Example value | Field |
---|---|---|---|
Session context | |||
cx_rum.session_context.ip_geoip.ip | User's IP address | 49.249.153.150 | ip |
cx_rum.session_context.ip_geoip.ip_ipaddr | Alternative IP address | 49.249.153.150 | ip_ipaddr |
cx_rum.session_context.ip_geoip.location_geopoint.lat | Latitude of user location | 21.9974 | lat |
cx_rum.session_context.ip_geoip.location_geopoint.lon | Longitude of user location | 79.0011 | lon |
cx_rum.session_context.ip_geoip.continent_name | Continent name | Asia | continent_name |
cx_rum.session_context.ip_geoip.country_name | Country name | India | country_name |
cx_rum.session_context.ip_geoip.city_name | City name | Delhi | city_name |
cx_rum.session_context.ip_geoip.postal_code | Postal code | 90210 | postal_code |
cx_rum.session_context.ip_geoip.is_local | Is IP local | FALSE | is_local |
cx_rum.session_context.browser | Browser name | Chrome | browser |
cx_rum.session_context.browserVersion | Browser version | 136.0.0.0 | browserVersion |
cx_rum.session_context.device | Device type | Desktop | device |
cx_rum.session_context.hasRecording | Current session has recording | FALSE | hasRecording |
cx_rum.session_context.hasScreenshot | Current session has screenshot | FALSE | hasScreenshot |
cx_rum.session_context.onlyWithErrorMode | Error mode only | FALSE | onlyWithErrorMode |
cx_rum.session_context.os | Operating system | MacOS | os |
cx_rum.session_context.osVersion | OS version | 10.15.7 | osVersion |
cx_rum.session_context.prev_session.hasRecording | Previous session had recording | TRUE | prev_session_hasRecording |
cx_rum.session_context.prev_session.hasScreenshot | Previous session had screenshot | FALSE | prev_session_hasScreenshot |
cx_rum.session_context.prev_session.session_creation_date | Previous session creation time | 1748503307441 | prev_session_creation_date |
cx_rum.session_context.prev_session.session_id | Previous session ID | bfcd4bf5-c4ff-48fb-99d4-b1af603707e4 | prev_session_id |
cx_rum.session_context.session_creation_date | Current session creation time | 1748514787150 | session_creation_date |
cx_rum.session_context.session_id | Current session ID | c664895a-63d7-4997-ad88-ce753974ca3a | session_id |
cx_rum.session_context.user_agent | User agent string | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 | user_agent |
cx_rum.session_context.user_id | User ID | 1234 | user_id |
cx_rum.session_context.user_name | User name | Aviv Alush | user_name |
cx_rum.session_context.x_forwarded_for | Forwarded IPs | 49.249.153.150,163.116.212.40 | x_forwarded_for |
Event context | |||
cx_rum.event_context.severity | Event severity | 3 | event_severity |
cx_rum.event_context.type | Event type | user-interaction | event_type |
Labels | |||
cx_rum.labels.cxFeatureGroupId | Feature group ID | data-exploration | cxFeatureGroupId |
cx_rum.labels.cxFeatureId | Feature ID | logs-explorer | cxFeatureId |
cx_rum.labels.releaseId | Release ID | web-app@866faa56 | releaseId |
Page context | |||
cx_rum.page_context.page_fragments | Page fragments | query-new/archive-logs | page_fragments |
cx_rum.page_context.page_url | Page URL | https://zupee-prd.app.coralogix.in/#/query-new/archive-logs?id=A9JBQSSgVyIl1jtNbPHbf&page=0 | page_url |
cx_rum.page_context.page_url_blueprint | Blueprint URL | https://zupee-prd.app.coralogix.in/#/query-new/archive-logs?id=A9JBQSSgVyIl1jtNbPHbf&page=0 | page_url_blueprint |
cx_rum.page_context.referrer | Referrer | referrer | |
General metadata | |||
cx_rum.browser_sdk.version | SDK version | 2.8.3 | browser_sdk_version |
cx_rum.environment | Deployment environment | mumbaisaas | environment |
cx_rum.platform | Platform | browser | platform |
cx_rum.timestamp | Timestamp | 1748514789996 | timestamp |
cx_rum.version_metadata.app_name | App name | web-app | app_name |
cx_rum.version_metadata.app_version | App version | 866faa56 | app_version |
User interactions
Tracks user actions such as clicks and inputs to understand behavior and flow.
Full path | Description | Example value | Field |
---|---|---|---|
cx_rum.event_context.severity | Severity level of the event (e.g., 1–5) | 3 | severity |
cx_rum.event_context.type | Type of the event | user-interaction | type |
cx_rum.interaction_context.element_classes | CSS classes of interacted element | cx-input-field ng-untouched ng-pristine ng-valid | element_classes |
cx_rum.interaction_context.element_id | Element ID | cx-input-3 | element_id |
cx_rum.interaction_context.event_name | Interaction event name | click | event_name |
cx_rum.interaction_context.target_element | HTML element targeted | INPUT | target_element |
cx_rum.interaction_context.target_element_inner_text | Inner text of target element | target_element_inner_text | |
cx_rum.interaction_context.target_element_type | Type of target element | text | target_element_type |
Network requests
Records details of XHR and fetch requests to monitor API usage and latency.
Full path | Description | Example value | Field |
---|---|---|---|
cx_rum.event_context.severity | Event severity | 3 | severity |
cx_rum.event_context.type | Type of event detected | network-request | event_type |
cx_rum.network_request_context.duration | Duration of the network request | 680 | request_duration |
cx_rum.network_request_context.method | HTTP method | POST | request_method |
cx_rum.network_request_context.url | Full request URL | https://ng-api-grpc.cx498.coralogix.com/com.coralogix.schemastore.v1.SchemaStoreService/SubmitUsageStats | request_url |
cx_rum.network_request_context.status_code | HTTP response status code | 200 | status_code |
cx_rum.timestamp | Timestamp of the event | 1748510384932 | timestamp |
cx_rum.traceId | Trace identifier for observability | 8a6eb6a6131e8680c9b36cdeb424ccc4 | traceId |
cx_rum.spanId | Span identifier for tracing | 7b32e31e2275c1b4 | spanId |
Errors
Captures JavaScript errors and exceptions to help identify and resolve issues impacting the user experience.
Full path | Description | Example value | Field |
---|---|---|---|
cx_rum.error_context.error_message | Error message text | ERROR Cannot read properties of undefined (reading 'map') | error_message |
cx_rum.error_context.original_stacktrace | Original JavaScript stack trace | Array of 10 stack frames (see details below) | original_stacktrace |
Resources
Logs the loading of external assets (like images, scripts, and stylesheets) to measure resource performance.
Full path | Description | Example value | Field |
---|---|---|---|
cx_rum.event_context.severity | Severity level (info/warning) | 3 | severity |
cx_rum.event_context.type | Type of the event | resources | type |
cx_rum.resource_context.connectEnd | End of the connection phase | 67021.59999990463 | connectEnd |
cx_rum.resource_context.connectStart | Start of the connection | 67021.59999990463 | connectStart |
cx_rum.resource_context.decodedBodySize | Size of decoded response body | 3993 | decodedBodySize |
cx_rum.resource_context.deliveryType | Resource delivery type | (empty) | deliveryType |
cx_rum.resource_context.domainLookupEnd | End of DNS lookup | 67021.59999990463 | domainLookupEnd |
cx_rum.resource_context.domainLookupStart | Start of DNS lookup | 67021.59999990463 | domainLookupStart |
cx_rum.resource_context.duration | Total resource load time | 175.5 | duration |
cx_rum.resource_context.encodedBodySize | Size of compressed body | 1375 | encodedBodySize |
cx_rum.resource_context.entryType | Type of performance entry | resource | entryType |
cx_rum.resource_context.fetchStart | Start of fetch | 67021.59999990463 | fetchStart |
cx_rum.resource_context.finalResponseHeadersStart | Time headers were received | 67196.79999995232 | finalResponseHeadersStart |
cx_rum.resource_context.firstInterimResponseStart | Interim response timing | 0 | firstInterimResponseStart |
cx_rum.resource_context.fragments | Associated JS chunk | chunk-K6NU6CD3.js | fragments |
cx_rum.resource_context.initiatorType | What triggered the resource load | script | initiatorType |
cx_rum.resource_context.name | Resource URL | https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js | name |
cx_rum.resource_context.nextHopProtocol | Protocol used (HTTP/2) | h2 | nextHopProtocol |
cx_rum.resource_context.redirectEnd | End of redirect (if any) | 0 | redirectEnd |
cx_rum.resource_context.redirectStart | Start of redirect (if any) | 0 | redirectStart |
cx_rum.resource_context.renderBlockingStatus | Whether this blocked rendering | non-blocking | renderBlockingStatus |
cx_rum.resource_context.requestStart | Time request started | 67024.09999990463 | requestStart |
cx_rum.resource_context.responseEnd | Time full response received | 67197.09999990463 | responseEnd |
cx_rum.resource_context.responseStart | Time response started | 67196.79999995232 | responseStart |
cx_rum.resource_context.responseStatus | HTTP status code | 200 | responseStatus |
cx_rum.resource_context.secureConnectionStart | Start of secure TLS handshake | 67021.59999990463 | secureConnectionStart |
cx_rum.resource_context.serverTiming | Server timing info | [] | serverTiming |
cx_rum.resource_context.startTime | Start time of resource timing measurement | 67021.59999990463 | startTime |
cx_rum.resource_context.transferSize | Total bytes transferred (including headers) | 1675 | transferSize |
cx_rum.resource_context.workerStart | Start of any service worker involvement | 0 | workerStart |
Long task
Detects main thread blocking operations to surface performance bottlenecks.
Full path | Description | Example value | Field |
---|---|---|---|
cx_rum.event_context.severity | Severity level (e.g., info = 1, warning = 3, error = 5) | 3 | severity |
cx_rum.event_context.type | Type of RUM event | longtask | type |
cx_rum.longtask_context.duration | Time the task blocked the main thread (in ms) | 84 | duration |
cx_rum.longtask_context.entryType | Type of performance entry | longtask | entryType |
cx_rum.longtask_context.id | Unique identifier for the long task | 5885bbfc-cefa-4e33-aa9d-bbd3acf75c30 | id |
cx_rum.longtask_context.name | Source of the long task (usually self or cross-origin) | self | name |
cx_rum.longtask_context.startTime | When the long task began (in ms since page load) | 3473.5 | startTime |
Web vitals
Reports key performance metrics like LCP, FID, and CLS to assess the core user experience.
Full path | Description | Example value | Field |
---|---|---|---|
cx_rum.event_context.severity | Event severity level (e.g., info = 1, warning = 3, error = 5) | 3 | severity |
cx_rum.event_context.type | Type of the event | web-vitals | type |
cx_rum.web_vitals_context.name | Web vital type (Largest Contentful Paint) | LCP | name |
cx_rum.web_vitals_context.value | Measured LCP value in milliseconds | 18224 | value (ms) |
cx_rum.web_vitals_context.rating | Performance rating based on metric thresholds | poor | rating |
cx_rum.web_vitals_context.attribution.elementRenderDelay | Time from page load to element render | 17605.4 | elementRenderDelay (ms) |
cx_rum.web_vitals_context.attribution.lcpEntry.renderTime | Time from navigation start to LCP render | 18224 | renderTime (ms) |
cx_rum.web_vitals_context.attribution.lcpEntry.size | Size of the largest element contributing to LCP | 20160 | size (bytes) |
cx_rum.web_vitals_context.attribution.timeToFirstByte | TTFB value from navigation timing | 618.6 | timeToFirstByte (ms) |
cx_rum.web_vitals_context.navigationType | Type of navigation (navigate, reload, etc.) | navigate | navigationType |
cx_rum.web_vitals_context.navigationId | Identifier for navigation event | 1 | navigationId |
cx_rum.web_vitals_context.id | Unique identifier for the web vital metric | v4-1748520702813-3468299023131 | id |
Log
Provides general-purpose logging for application events and custom developer insights.
Full path | Description | Example value | Field |
---|---|---|---|
cx_rum.event_context.severity | Severity level of the event (e.g., 1–5) | 3 | severity |
cx_rum.event_context.type | Type of the event | log | type |
cx_rum.event_context.source | Source of the log | code | source |
cx_rum.event_context.severity | Event severity | 1 | event_severity |
cx_rum.event_context.source | Event source | code | event_source |
cx_rum.event_context.type | Event type | log | event_type |
cx_rum.log_context.data.event.log.customTriggerData.actionType | Log action type | Other | log_actionType |
cx_rum.log_context.data.event.log.customTriggerData.extraData.exceptionInfo.error.statusCode | Log error status code | 5 | log_statusCode |
cx_rum.log_context.data.event.log.customTriggerData.extraData | Log extra data as JSON object | Mock not found | log_statusMessage |
cx_rum.log_context.data.event.log.customTriggerData.message | Log message | [custom-dashboards] platform-overview.component - handleDataLoadingError: {"statusCode":5,"statusMessage":"Mock not found","metadata":{"map":{}}} - failed | log_message |
cx_rum.log_context.data.event.triggerType | Log trigger type | custom | log_triggerType |
cx_rum.log_context.data.event.severity | Log severity: 1-6 | 1 | log_severity |
cx_rum.log_context.data.message | Log context message | [custom-dashboards] platform-overview.component - handleDataLoadingError: {"statusCode":5,"statusMessage":"Mock not found","metadata":{"map":{}}} - failed | log_context_message |
Dom
Logs changes and structures in the Document Object Model for advanced session analysis.
Full path | Description | Example value | Field |
---|---|---|---|
cx_rum.event_context.severity | Severity level of the event (e.g., 1–5) | 3 | severity |
cx_rum.event_context.type | Type of the event | dom | type |
cx_rum.snapshot_context.actionCount | Number of user actions recorded | 0 | actionCount |
cx_rum.snapshot_context.errorCount | Number of errors recorded | 0 | errorCount |
cx_rum.snapshot_context.hasRecording | Indicates if recording exists | true | hasRecording |
cx_rum.snapshot_context.hasScreenshot | Indicates if screenshot exists | false | hasScreenshot |
cx_rum.snapshot_context.viewCount | Number of views recorded | 1 | viewCount |
Custom measurement
Allows developers to send specific measurements relevant to their application logic.
Full path | Description | Example value | Field |
---|---|---|---|
cx_rum.event_context.severity | Severity level of the event (e.g., 1–5) | 3 | severity |
cx_rum.event_context.type | Type of the event | custom-measurement | type |
cx_rum.custom_measurement_context.name | Name of the custom measurement | RUM errors page loaded | name |
cx_rum.custom_measurement_context.value | Value of the custom measurement | 167 | value |
Screenshot
Captures visual snapshots during user sessions for enhanced debugging and replay context.
Full path | Description | Example value | Field |
---|---|---|---|
cx_rum.event_context.severity | Severity level of the event (e.g., 1–5) | 3 | severity |
cx_rum.event_context.type | Type of the event | screenshot | type |
cx_rum.screenshot_context.description | Reason or description for the screenshot | creating a screenshot due to an error! | description |
cx_rum.screenshot_context.id | Unique identifier for the screenshot event | 2c54846d-4a52-47dc-8911-cec10bf962b8 | id |