@sentry/react-native
Version:
Official Sentry SDK for react-native
107 lines • 3.31 kB
TypeScript
import type { Integration, Span } from '@sentry/core';
import type { NativeFramesResponse } from '../../NativeRNSentry';
export type AppStartIntegration = Integration & {
captureStandaloneAppStart: () => Promise<void>;
cancelDeferredStandaloneCapture: () => void;
scheduleDeferredStandaloneCapture: () => void;
extendAppStart: () => void;
getExtendedAppStartSpan: () => Span;
finishExtendedAppStart: () => Promise<void>;
};
interface AppStartEndData {
timestampMs: number;
endFrames: NativeFramesResponse | null;
}
/**
* Records the application start end.
* Used automatically by `Sentry.wrap` and `Sentry.ReactNativeProfiler`.
*
* @deprecated Use {@link appLoaded} from the public SDK API instead (`Sentry.appLoaded()`).
*/
export declare function captureAppStart(): Promise<void>;
/**
* Signals that the app has finished loading and is ready for user interaction.
* Called internally by `appLoaded()` from the public SDK API.
*
* @private
*/
export declare function _appLoaded(): Promise<void>;
/**
* For internal use only.
*
* @private
*/
export declare function _captureAppStart({ isManual }: {
isManual: boolean;
}): Promise<void>;
/**
* Extends the app start window. Called internally by `extendAppStart()` from the public SDK API.
*
* @private
*/
export declare function _extendAppStart(): void;
/**
* Returns the extended app start span (a no-op span when there's no active extension).
* Called internally by `getExtendedAppStartSpan()` from the public SDK API.
*
* @private
*/
export declare function _getExtendedAppStartSpan(): Span;
/**
* Finishes the extended app start. Called internally by `finishExtendedAppStart()` from the public
* SDK API.
*
* @private
*/
export declare function _finishExtendedAppStart(): Promise<void>;
/**
* Sets the root component first constructor call timestamp.
* Used automatically by `Sentry.wrap` and `Sentry.ReactNativeProfiler`.
*/
export declare function setRootComponentCreationTimestampMs(timestampMs: number): void;
/**
* For internal use only.
*
* @private
*/
export declare function _setRootComponentCreationTimestampMs(timestampMs: number): void;
/**
* For internal use only.
*
* @private
*/
export declare const _setAppStartEndData: (data: AppStartEndData) => void;
/**
* Updates only the endFrames on existing appStartEndData.
* Used after the async fetchNativeFrames completes to attach frame data
* without triggering the overwrite warning from _setAppStartEndData.
*
* @private
*/
export declare const _updateAppStartEndFrames: (endFrames: NativeFramesResponse | null) => void;
/**
* For testing purposes only.
*
* @private
*/
export declare function _clearRootComponentCreationTimestampMs(): void;
/**
* For testing purposes only.
*
* @private
*/
export declare function _clearAppStartEndData(): void;
/**
* Adds AppStart spans from the native layer to the transaction event.
*/
export declare const appStartIntegration: ({ standalone, }?: {
/**
* Should the integration send App Start as a standalone root span (transaction)?
* If false, App Start will be added as a child span to the first transaction.
*
* @default false
*/
standalone?: boolean;
}) => AppStartIntegration;
export {};
//# sourceMappingURL=appStart.d.ts.map