DatadogConfiguration and DatadogRumConfiguration.
Sampling rate
Tracking consent
TrackingConsent controls whether data is collected and reported, to meet compliance requirements such as GDPR:
Event filtering and masking
Event mappers run before events are reported; returnnull to drop the event, or return it after modification. You can use them to mask sensitive fields, remove noise, or rename views.
Distributed tracing
For hosts that matchfirstPartyHosts, the SDK injects the W3C traceparent to correlate frontend RUM with backend APM. Tracing requires network collection (enableHttpTracking()).
Custom reporting endpoint
For on-premises deployments, override the default reporting endpoint throughcustomEndpoint:
WebView tracking
When a Flutter screen embeds a WebView, useflashcat_webview_tracking to correlate Browser RUM events from the WebView with the current native RUM session.
pubspec.yaml
trackDatadogEvents. A hostname matches its subdomains, but wildcards are not supported. The page loaded in the WebView must already use the Flashduty Browser SDK. On Android, you must also enable JavaScriptMode.unrestricted, or correlation will not work.
Symbol file upload
To resolve crash and error stacks back to source locations, you need to upload symbol files. A Flutter application may contain both Dart and native frames:
Use the FlashCat CLI to upload symbol files:
Symbol files are matched to crash events by the build’s build ID;
service and release-version take no part in the lookup. Symbolication therefore still works when they differ from the SDK initialization values — the difference only affects how the file is grouped and filtered in the console’s Source code mapping list. Keeping them aligned is still recommended, and Flutter’s build-number suffix (for example 1.2.3+45) is an easy way for them to drift apart.What must match is the build ID: the app.<platform>-<arch>.symbols file produced by --split-debug-info, the libapp.so inside the APK, and the Build ID column in the console’s Source code mapping → Flutter list must all be identical. Every change to your Dart code produces a new build ID, so symbol upload has to be part of every release build — otherwise that version’s stacks silently degrade to unresolved.