newrelic-react-native-agent
Version:
A New Relic Mobile Agent for React Native
42 lines (39 loc) • 2.19 kB
text/typescript
import type { TurboModule } from 'react-native';
import { TurboModuleRegistry } from 'react-native';
export interface Spec extends TurboModule {
startAgent(appkey:string,agentVersion:string,reactNativeVersion:string,customerConfiguration:Object): void;
analyticsEventEnabled(enabled:boolean): void;
networkRequestEnabled(enabled:boolean): void;
networkErrorRequestEnabled(enabled:boolean): void;
httpResponseBodyCaptureEnabled(enabled:boolean): void;
recordBreadcrumb(eventName:string, attributes:Object): void;
recordCustomEvent(eventType:string,eventName:string, attributes:Object): void;
crashNow(message:string): void;
currentSessionId(): Promise<string>;
noticeHttpTransaction(url :string, httpMethod :string, statusCode:number, startTime:number, endTime:number, bytesSent:number, bytesReceived:number, responseBody :string): void;
addHTTPHeadersTrackingFor(headers:Array<string>): void;
noticeNetworkFailure(url :string, httpMethod :string,startTime:number, endTime:number,failure: string): void;
recordMetric(name:string, category:string, value :number, countUnit:string, valueUnit:string): void;
removeAllAttributes(): void;
setMaxEventBufferTime(maxEventBufferTime:number): void;
setMaxEventPoolSize(maxSize:number): void;
setMaxOfflineStorageSize(megaBytes:number): void;
startInteraction(name:string): Promise<string>;
endInteraction(interactionId:string): void;
setInteractionName(name:string): void;
removeAttribute(name:string): void;
logAttributes(attributes:Object): void;
incrementAttribute(attributeName:string, value:number): void;
setJSAppVersion(version:string): void;
setUserId(userId:string): void;
shutdown(): void;
recordReplay(): void;
pauseReplay(): void;
recordHandledException(exceptionDictionary:Object): void;
recordStack(name:string,message:string, stack:string,isFatal:boolean,jsAppVersion:string): void;
setStringAttribute(name:string, value:string): void;
setNumberAttribute(name:string, value:number): void;
setBoolAttribute(name:string, value:boolean): void;
isAgentStarted(): Promise<boolean>;
}
export default TurboModuleRegistry.getEnforcing<Spec>('NRMModularAgent') as Spec | null;