@datadog/mobile-react-native
Version:
A client-side React Native module to interact with Datadog
104 lines • 5.57 kB
TypeScript
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