@newrelic/newrelic-capacitor-plugin
Version:
NewRelic Plugin for ionic Capacitor
189 lines (188 loc) • 5 kB
TypeScript
export interface NewRelicCapacitorPluginPlugin {
start(options: {
appKey: string;
agentConfiguration?: AgentConfiguration;
}): void;
setUserId(options: {
userId: string;
}): void;
setAttribute(options: {
name: string;
value: string;
}): void;
removeAttribute(options: {
name: string;
}): void;
recordBreadcrumb(options: {
name: string;
eventAttributes: object;
}): void;
recordCustomEvent(options: {
eventType: string;
eventName: string;
attributes: object;
}): void;
startInteraction(options: {
value: string;
}): Promise<{
value: string;
}>;
endInteraction(options: {
interactionId: string;
}): void;
crashNow(options?: {
message: string;
}): void;
currentSessionId(options?: {}): Promise<{
sessionId: string;
}>;
incrementAttribute(options: {
name: string;
value?: number;
}): void;
noticeNetworkFailure(options: {
url: string;
method: string;
startTime: number;
endTime: number;
failure: string;
}): void;
noticeHttpTransaction(options: {
url: string;
method: string;
status: number;
startTime: number;
endTime: number;
bytesSent: number;
bytesReceived: number;
body: string;
traceAttributes?: object;
params?: object;
}): void;
recordMetric(options: {
name: string;
category: string;
value?: number;
countUnit?: string;
valueUnit?: string;
}): void;
removeAllAttributes(options?: {}): void;
setMaxEventBufferTime(options: {
maxBufferTimeInSeconds: number;
}): void;
setMaxEventPoolSize(options: {
maxPoolSize: number;
}): void;
setMaxOfflineStorageSize(options: {
megaBytes: number;
}): void;
recordError(options: {
name: string;
message: string;
stack: string;
isFatal: boolean;
attributes?: object;
}): void;
analyticsEventEnabled(options: {
enabled: boolean;
}): void;
networkRequestEnabled(options: {
enabled: boolean;
}): void;
networkErrorRequestEnabled(options: {
enabled: boolean;
}): void;
httpResponseBodyCaptureEnabled(options: {
enabled: boolean;
}): void;
getAgentConfiguration(options?: {}): Promise<AgentConfiguration>;
shutdown(options?: {}): void;
generateDistributedTracingHeaders(options?: {}): Promise<DTHeaders>;
addHTTPHeadersTrackingFor(options: {
headers: string[];
}): void;
getHTTPHeadersTrackingFor(): Promise<HttpHeadersTracking>;
log(options: {
level: NREnums.LogLevel;
message: string;
}): void;
logError(options: {
message: string;
}): void;
logWarning(options: {
message: string;
}): void;
logInfo(options: {
message: string;
}): void;
logVerbose(options: {
message: string;
}): void;
logDebug(options: {
message: string;
}): void;
logAll(options: {
error: string;
attributes: object;
}): void;
logAttributes(options: {
attributes: object;
}): void;
}
export interface AgentConfiguration {
analyticsEventEnabled?: boolean;
crashReportingEnabled?: boolean;
interactionTracingEnabled?: boolean;
networkRequestEnabled?: boolean;
networkErrorRequestEnabled?: boolean;
httpResponseBodyCaptureEnabled?: boolean;
webViewInstrumentation?: boolean;
loggingEnabled?: boolean;
logLevel?: string;
collectorAddress?: string;
crashCollectorAddress?: string;
sendConsoleEvents?: boolean;
fedRampEnabled?: boolean;
offlineStorageEnabled?: boolean;
backgroundReportingEnabled?: boolean;
newEventSystemEnabled?: boolean;
logReportingEnabled?: boolean;
distributedTracingEnabled?: boolean;
}
export interface DTHeaders {
guid?: string;
id?: string;
newrelic?: string;
traceid?: string;
traceparent?: string;
tracestate?: string;
}
export interface HttpHeadersTracking {
headersList: string;
}
export declare namespace NREnums {
enum LogLevel {
ERROR = "ERROR",
WARNING = "WARN",
INFO = "INFO",
VERBOSE = "VERBOSE",
AUDIT = "AUDIT",
DEBUG = "DEBUG"
}
enum NetworkFailure {
Unknown = "Unknown",
BadURL = "BadURL",
TimedOut = "TimedOut",
CannotConnectToHost = "CannotConnectToHost",
DNSLookupFailed = "DNSLookupFailed",
BadServerResponse = "BadServerResponse",
SecureConnectionFailed = "SecureConnectionFailed"
}
enum MetricUnit {
PERCENT = "PERCENT",
BYTES = "BYTES",
SECONDS = "SECONDS",
BYTES_PER_SECOND = "BYTES_PER_SECOND",
OPERATIONS = "OPERATIONS"
}
}