Configuration options
Instrumentation's
Turn on/off specific instrumentation; defaults to true for all. Each instrumentation is responsible for which data the SDK will track and collect for you.
await CoralogixRum.init({
// ...
instrumentations: {
errors: true,
custom: true,
mobile_vitals: true,
anr: true,
lifecycle: true,
user_interaction: true,
network: true
},
});
The network instrumentation also injects the W3C traceparent header. Setting network to false
stops trace context propagation as well, even when traceParentInHeader is enabled.
Mobile vital detectors
Disable specific mobile vitals detection and collection
await CoralogixRum.init({
// ...
mobileVitals: {
warm: true,
cold: true,
cpu: true,
memory: true,
rendering: true,
slowFrozenFrames: true,
}
});
Exclude from sampling
By default, when a session is sampled out (via sessionSampleRate), nothing is
emitted for that session. Use excludeFromSampling to keep emitting specific
event categories even when the session is sampled out.
import { CoralogixRum } from '@coralogix/react-native-plugin';
await CoralogixRum.init({
// ...
sessionSampleRate: 10,
excludeFromSampling: ['errors', 'logs'], // always emitted, even for sampled-out sessions
});
Allowed values: 'errors', 'logs', 'network', 'userInteractions',
'mobileVitals', 'customSpan', 'customMeasurement'.
Inside a beforeSend callback, session_context.isSessionSampledIn
tells you whether an event came from a sampled-in session or reached you only via
excludeFromSampling, so excluded categories can be filtered further.
Ignore errors
The ignoreErrors option allows you to exclude errors that meet specific criteria. This options accepts a set of strings and regular expressions to match against the event's error message. Use regular expressions for exact matching as strings remove partial matches.
import { CoralogixRum } from '@coralogix/react-native-plugin';
await CoralogixRum.init({
// ...
ignoreErrors: [/Exact Match Error Message/, 'partial/match'],
});
TraceParentInHeader
Add trace context propagation in headers across service boundaries
await CoralogixRum.init({
// ...
traceParentInHeader: {
enabled: true
},
});
The traceparent header is added by the network instrumentation, so this feature depends on it. If
you set instrumentations.network to false, no trace headers are sent even with
enabled: true.