source: "react-native".
Event types
Automatically collected context
Every event carries the following context (collected by the native layer):- Application:
service,version,env, andapplication.id - Device: device model, OS and version, screen size
- Session:
session.id, sampled bysessionSamplingRate - Connectivity: network type (when available)
- User:
usr.id/usr.name/usr.emailset throughDdSdkReactNative.setUser - Global attributes: custom fields set through
DdSdkReactNative.setAttributes
Network request collection boundary
Resource collection has a single entry point: theXMLHttpRequest proxy in the JavaScript layer (fetch in React Native is implemented on top of it).
As a result, the resource data of a React Native application contains API requests only, with no images, fonts, scripts, or other static resources. The console does not show static-resource panels for React Native applications. This is by design, following the collection boundary, and does not mean data is missing.
Performance data
The console shows a Performance page for React Native applications. Native vitals are collected by the wrapped Android / iOS SDKs, and the JS-thread frame rate is collected additionally by the React Native SDK:
The collection frequency of native vitals is controlled by
vitalsUpdateFrequency, default VitalsUpdateFrequency.AVERAGE; set it to NEVER to disable.
Logs
DdLogs.debug / info / warn / error send log events, which are not RUM events. Currently only Android actually sends them; iOS is a no-op.
Manual instrumentation
Besides automatic collection, you can record events and attributes manually.Sampling and controls
Data scrubbing
Event mappers let you modify or drop data before it is reported, for scrubbing or noise filtering. See Advanced configuration.Reporting behavior
- The SDK buffers events in the native layer and uploads them in batches according to
uploadFrequency,batchSize, andbatchProcessingLevel - When the network is unavailable, events are persisted locally and retried once connectivity returns
- The default intake endpoint is
https://browser.flashcat.cloud/api/v2/rum; on-premises deployments can set the full RUM intake URL throughcustomEndpoints.rum(it must include/api/v2/rumand keep the deployment’s path prefix)