UNPKG

@datadog/mobile-react-native

Version:

A client-side React Native module to interact with Datadog

104 lines 5.57 kB
import type { TurboModule } from 'react-native'; /** * Do not import this Spec directly, use DdNativeRumType instead. */ export interface Spec extends TurboModule { readonly getConstants: () => {}; /** * Start tracking a RUM View. * @param key: The view unique key identifier. * @param name: The view name. * @param context: The additional context to send. * @param timestampMs: The timestamp when the view started (in milliseconds). If not provided, current timestamp will be used. */ startView(key: string, name: string, context: Object, timestampMs: number): Promise<void>; /** * Stop tracking a RUM View. * @param key: The view unique key identifier. * @param context: The additional context to send. * @param timestampMs: The timestamp when the view stopped (in milliseconds). If not provided, current timestamp will be used. */ stopView(key: string, context: Object, timestampMs: number): Promise<void>; /** * Start tracking a RUM Action. * @param type: The action type (tap, scroll, swipe, back, custom). * @param name: The action name. * @param context: The additional context to send. * @param timestampMs: The timestamp when the action started (in milliseconds). If not provided, current timestamp will be used. */ startAction(type: string, name: string, context: Object, timestampMs: number): Promise<void>; /** * Stop tracking the ongoing RUM Action. * @param type: The action type (tap, scroll, swipe, back, custom). * @param name: The action name. * @param context: The additional context to send. * @param timestampMs: The timestamp when the action stopped (in milliseconds). If not provided, current timestamp will be used. */ stopAction(type: string, name: string, context: Object, timestampMs: number): Promise<void>; /** * Add a RUM Action. * @param type: The action type (tap, scroll, swipe, back, custom). * @param name: The action name. * @param context: The additional context to send. * @param timestampMs: The timestamp when the action occurred (in milliseconds). If not provided, current timestamp will be used. */ addAction(type: string, name: string, context: Object, timestampMs: number): Promise<void>; /** * Start tracking a RUM Resource. * @param key: The resource unique key identifier. * @param method: The resource method (GET, POST, …). * @param url: The resource url. * @param context: The additional context to send. * @param timestampMs: The timestamp when the resource started (in milliseconds). If not provided, current timestamp will be used. */ startResource(key: string, method: string, url: string, context: Object, timestampMs: number): Promise<void>; /** * Stop tracking a RUM Resource. * @param key: The resource unique key identifier. * @param statusCode: The resource status code. * @param kind: The resource's kind (xhr, document, image, css, font, …). * @param size: The resource size in bytes. If size is unknown, use -1. * @param context: The additional context to send. * @param timestampMs: The timestamp when the resource stopped (in milliseconds). If not provided, current timestamp will be used. */ stopResource(key: string, statusCode: number, kind: string, size: number, context: Object, timestampMs: number): Promise<void>; /** * Add a RUM Error. * @param message: The error message. * @param source: The error source (network, source, console, webview, custom). * @param stacktrace: The error stacktrace. * @param context: The additional context to send. * @param timestampMs: The timestamp when the error occurred (in milliseconds). If not provided, current timestamp will be used. * @param fingerprint: Optional custom error fingerprint. */ addError(message: string, source: string, stacktrace: string, context: Object, timestampMs: number, fingerprint: string): Promise<void>; /** * Adds a specific timing in the active View. The timing duration will be computed as the difference between the time the View was started and the time this function was called. * @param name: The name of the new custom timing attribute. Timings can be nested up to 8 levels deep. Names using more than 8 levels will be sanitized by SDK. */ addTiming(name: string): Promise<void>; /** * Adds the loading time of the view to the active view. * It is calculated as the difference between the current time and the start time of the view. * @param overwrite: If true, overwrites the previously calculated view loading time. */ addViewLoadingTime(overwrite: boolean): Promise<void>; /** * Stops the current RUM Session. */ stopSession(): Promise<void>; /** * Adds the result of evaluating a feature flag with a given name and value to the view. * Feature flag evaluations are local to the active view and are cleared when the view is stopped. * @param name: The name of the feature flag * @param value: The value of the feature flag, encapsulated in an Object to accept all types */ addFeatureFlagEvaluation(name: string, value: Object): Promise<void>; /** * Get current Session ID, or `undefined` if not available. */ getCurrentSessionId(): Promise<string | undefined>; } declare const _default: Spec | null; export default _default; //# sourceMappingURL=NativeDdRum.d.ts.map